title: How to login in web site using Java
body: <p>I want to access some pages of web site <a href="https://myoffice.bt.com" rel="noreferrer">https://myoffice.bt.com</a> which requires user authentication using java. We have to sign in first to access pages. I have wriiten following code.</p>
  
  <pre><code>package root;
  
  import java.io.IOException;
  
  import org.apache.commons.httpclient.HttpClient;
  import org.apache.commons.httpclient.UsernamePasswordCredentials;
  import org.apache.commons.httpclient.auth.AuthScope;
  import org.apache.commons.httpclient.methods.PostMethod;
  import org.apache.commons.httpclient.params.HttpMethodParams;
  
  
  public class Url
  {
   public static void main(String[] args) throws IOException
   {
    HttpClient client = new HttpClient();
  
    client.getParams().setParameter(
        HttpMethodParams.USER_AGENT,
        "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"
    );
  
    client.getState().setCredentials(
       new AuthScope("https://myoffice.bt.com", 443,  AuthScope.ANY_REALM),
       new UsernamePasswordCredentials("username", "password")  ); 
  
    PostMethod get = new PostMethod("https://myoffice.bt.com/youraccount/default.aspx");
    get.setDoAuthentication( true );
    System.out.println(get.getFollowRedirects());
    //get.setFollowRedirects(true);
  
  
    try {
      // execute the GET
       int status = client.executeMethod( get );
  
       // print the status and response
       System.out.println(status + "\n" + get.getResponseBodyAsString());
  
       } finally {
       // release any connection resources used by the method
        get.releaseConnection();
       } 
  
  
   }
  
  }
  </code></pre>
  
  <p>But it gives following errors.</p>
  
  <pre><code>&gt; Jun 22, 2010 12:14:40 PM org.apache.commons.httpclient.HttpMethodDirector isRedirectNeeded
  INFO: Redirect requested but followRedirects is disabled
  302
  </code></pre>
  
  <p>If I uncomment get.setFollowingRedirects line, It gives another error.</p>
  
  <pre><code>Exception in thread "main" java.lang.IllegalArgumentException: Entity enclosing requests cannot be redirected without user intervention
   at org.apache.commons.httpclient.methods.EntityEnclosingMethod.setFollowRedirects(Unknown Source)
   at root.Url.main(Url.java:30)
  </code></pre>
  
  <p>Can any one help me here? Can we do form based authentication using HttpClient?</p>
  
  <p>Thanks.</p>