Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
HTTPS Form LoginUsing the del.icio.us site, demonstrates how to programmatically login via a form. import com.chilkatsoft.*; public class ChilkatExample { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); System.exit(1); } } public static void main(String argv[]) { CkHttpRequest req = new CkHttpRequest(); CkHttp http = new CkHttp(); boolean success; // Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial"); if (success != true) { System.out.println(http.lastErrorText()); return; } // Cookies may be persisted to a directory in the filesystem, // or alternatively cached in memory by using the "memory" // keyword: http.put_CookieDir("memory"); // Accumulated cookies are sent with each GET/POST: http.put_SaveCookies(true); // Cookies received in HTTP responses are to be saved: http.put_SendCookies(true); // Get the page with the login form. We're only doing this // just in case there are cookies that need to be cached // and re-sent in the next step: String html; html = http.quickGetStr("https://secure.del.icio.us/login"); if (http.get_LastStatus() != 200) { System.out.println(http.lastErrorText()); return; } // Examining the "Page Info" in FireFox reveals a form with // a target of https://secure.del.icio.us/login with // fields of "user_name", "password", and "login". The "login" // field is nothing more than the submit button and holds // the value "log in". // Build an HTTP POST Request: req.UsePost(); req.put_Path("/login"); req.AddParam("user_name","chilkatsoft"); req.AddParam("password","****"); req.AddParam("login","log in"); // Send the HTTP POST and get the response. Note: This is a blocking call. // The method does not return until the full HTTP response is received. String domain; int port; boolean ssl; domain = "secure.del.icio.us"; port = (int) 443; ssl = true; CkHttpResponse resp; resp = http.SynchronousRequest(domain,port,ssl,req); if (resp == null ) { System.out.println(http.lastErrorText()); } else { int responseStatus; responseStatus = (int) resp.get_StatusCode(); if (responseStatus == 302) { // We have a redirect. Follow it... // Note: the FollowRedirects property causes // 301/302 responses to GET requests to be // automatically followed. http.put_FollowRedirects(true); html = http.quickGetStr(resp.getHeaderField("Location")); if (http.get_LastStatus() != 200) { System.out.println(http.lastErrorText()); return; } } else { html = resp.bodyStr(); } System.out.println(responseStatus); // Display the HTML source of the page returned. System.out.println(html); } } } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.