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
Ccna final exam - java, php, javascript, ios, cshap all in one. This is a collaboratively edited question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.
Thursday, February 16, 2012
Android — How to programmatically log into website from a form
Tags
android,
authentication,
java,
login,
Tips For Programmer,
website
Subscribe to:
Post Comments (Atom)
You should use a Webview to display to webpage.
ReplyDeleteCheck 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
First of all, you should check out if the website has the API.
ReplyDeleteIf 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.
If the website is using POST, which is the most likely case, you can simply use UrlEncodedFormEntity and HttpClient to do that
ReplyDeleteHttpParams 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(){});