![]() |
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
(Delphi DLL) Http Digest AuthenticationDemonstrates the
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; jsonResponse: PWideChar; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); // To use HTTP Digest Authentication: CkHttp_putLogin(http,'myLogin'); CkHttp_putPassword(http,'myPassword'); CkHttp_putDigestAuth(http,True); // If you would like to see the HTTP session log to see how // HTTP digest authentication worked. CkHttp_putSessionLogFilename(http,'c:/temp/qa_output/sessionLog.txt'); // Run the test using this URL with the credentials above. // (Works while httpbin.org keeps the test endpoint available.) jsonResponse := CkHttp__quickGetStr(http,'https://httpbin.org/digest-auth/auth/myLogin/myPassword'); if (CkHttp_getLastMethodSuccess(http) = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; Memo1.Lines.Add('Response status code: ' + IntToStr(CkHttp_getLastStatus(http))); Memo1.Lines.Add(jsonResponse); // Output: // Response status code: 200 // { // "authenticated": true, // "user": "myLogin" // } // ----------------------------------------------- // Here are the contents of the sessionLog.txt // ---- Sending Sat, 30 Aug 2025 11:23:12 GMT ---- // GET /digest-auth/auth/myLogin/myPassword HTTP/1.1 // Host: httpbin.org // Accept: */* // Accept-Encoding: gzip // // // ---- Received Sat, 30 Aug 2025 11:23:12 GMT ---- // HTTP/1.1 401 UNAUTHORIZED // Date: Sat, 30 Aug 2025 11:23:12 GMT // Content-Type: text/html; charset=utf-8 // Content-Length: 0 // Connection: keep-alive // Server: gunicorn/19.9.0 // WWW-Authenticate: Digest realm="me@kennethreitz.com", nonce="fbc6733e2f4d126e7a92d19918f42b0f", qop="auth", opaque="5a14177dc4089cb22c019e6df4fdaadf", algorithm=MD5, stale=FALSE // Set-Cookie: stale_after=never; Path=/ // Set-Cookie: fake=fake_value; Path=/ // Access-Control-Allow-Origin: * // Access-Control-Allow-Credentials: true // // // ---- Sending Sat, 30 Aug 2025 11:23:12 GMT ---- // GET /digest-auth/auth/myLogin/myPassword HTTP/1.1 // Host: httpbin.org // Accept: */* // Accept-Encoding: gzip // Authorization: Digest **** // // // ---- Received Sat, 30 Aug 2025 11:23:12 GMT ---- // HTTP/1.1 200 OK // Date: Sat, 30 Aug 2025 11:23:13 GMT // Content-Type: application/json // Content-Length: 50 // Connection: keep-alive // Server: gunicorn/19.9.0 // Set-Cookie: fake=fake_value; Path=/ // Access-Control-Allow-Origin: * // Access-Control-Allow-Credentials: true // // { // "authenticated": true, // "user": "myLogin" // } CkHttp_Dispose(http); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.