Thursday, February 16, 2012

Android — How to programmatically log into website from a form


The app I am writing involves taking details from the user and using them to access their account on a website. I know how to take details from the user but I don't know how to use those details to log into the website. Does anyone know how I can input these details in the correct boxes? Thanks in advance


3 comments:

  1. You should use a Webview to display to webpage.
    Check out the official example from Google:
    http://developer.android.com/resources/tutorials/views/hello-webview.html

    To fill the correct fields, check this answer:
    Fill fields in webview automatically

    ReplyDelete
  2. First of all, you should check out if the website has the API.

    If they don't have the API,


    In Firebug (in Firefox) or Developer Tools (in Chrome), goto Network Tab and see what POST is done.
    Now that you know what is POSTed & to what URL, you have to do that using Java.
    While doing the HTTP POST/GET requests in Java, you will also need to handle cookies (which your browser does automagically for you). For that you need something called a CookieJar. You can use that without using a cookiejar too as explained here but it's cumbersome.


    So, read a tutorial here & get started.

    ReplyDelete
  3. If the website is using POST, which is the most likely case, you can simply use UrlEncodedFormEntity and HttpClient to do that

    HttpParams params = new BasicHttpParams();
    HttpClient client = new DefaultHttpClient(params);
    HttpPost post = new HttpPost("www.thewebsiteyouwanttosubmitto.com/post.php");
    post.setEntity(new UrlEncodedFormEntity());
    client.execute(post, new ResponseHandler(){});

    ReplyDelete