![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
HTTPS Form Login
Using the del.icio.us site, demonstrates how to programmatically login via a form. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% set req = Server.CreateObject("Chilkat_9_5_0.HttpRequest") set http = Server.CreateObject("Chilkat_9_5_0.Http") ' Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial") If (success <> 1) Then Response.Write Server.HtmlEncode(http.LastErrorText) & "<br>" End If ' 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 = 1 ' Cookies received in HTTP responses are to be saved: http.SendCookies = 1 ' 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.LastStatus <> 200) Then Response.Write Server.HtmlEncode(http.LastErrorText) & "<br>" End If ' 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. domain = "secure.del.icio.us" port = 443 ssl = 1 Set resp = http.SynchronousRequest(domain,port,ssl,req) If (resp Is Nothing ) Then Response.Write Server.HtmlEncode(http.LastErrorText) & "<br>" Else responseStatus = resp.StatusCode If (responseStatus = 302) Then ' We have a redirect. Follow it... ' Note: the FollowRedirects property causes ' 301/302 responses to GET requests to be ' automatically followed. http.FollowRedirects = 1 html = http.QuickGetStr(resp.GetHeaderField("Location")) If (http.LastStatus <> 200) Then Response.Write Server.HtmlEncode(http.LastErrorText) & "<br>" End If Else html = resp.BodyStr End If Response.Write Server.HtmlEncode(responseStatus) & "<br>" ' Display the HTML source of the page returned. Response.Write Server.HtmlEncode(html) & "<br>" End If %> </body> </html> |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.