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.
Chilkat.HttpRequest req = new Chilkat.HttpRequest(); Chilkat.Http http = new Chilkat.Http(); bool success; // Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial"); if (success != true) { MessageBox.Show(http.LastErrorText); return; } // Cookies may be persisted to a directory in the filesystem, // or alternatively cached in memory by using the "memory" // keyword: http.CookieDir = "memory"; // Accumulated cookies are sent with each GET/POST: http.SaveCookies = true; // Cookies received in HTTP responses are to be saved: http.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.LastStatus != 200) { MessageBox.Show(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.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; bool ssl; domain = "secure.del.icio.us"; port = 443; ssl = true; Chilkat.HttpResponse resp = null; resp = http.SynchronousRequest(domain,port,ssl,req); if (resp == null ) { textBox1.Text += http.LastErrorText + "\r\n"; textBox1.Refresh(); } else { int responseStatus; responseStatus = resp.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.FollowRedirects = true; html = http.QuickGetStr(resp.GetHeaderField("Location")); if (http.LastStatus != 200) { MessageBox.Show(http.LastErrorText); return; } } else { html = resp.BodyStr; } textBox1.Text += Convert.ToString(responseStatus) + "\r\n"; textBox1.Refresh(); // Display the HTML source of the page returned. textBox1.Text += html + "\r\n"; textBox1.Refresh(); } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.