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. require 'chilkat' req = Chilkat::CkHttpRequest.new() http = Chilkat::CkHttp.new() # Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial") if (success != true) print http.lastErrorText() + "\n" exit end # 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: html = http.quickGetStr("https://secure.del.icio.us/login") if (http.get_LastStatus() != 200) print http.lastErrorText() + "\n" exit end # 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. domain = "secure.del.icio.us" port = 443 ssl = true resp = http.SynchronousRequest(domain,port,ssl,req) if (resp == nil ) print http.lastErrorText() + "\n"; else responseStatus = 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) print http.lastErrorText() + "\n" exit end else html = resp.bodyStr() end print responseStatus.to_s() + "\n"; # Display the HTML source of the page returned. print html + "\n"; end |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.