Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) HTTP Digest-MD5 Authentication Testing with httpbin.orgThe URL https://httpbin.org/digest-auth/auth/user/passwd is password protected with user="user" and password="passwd". It requires Digest-MD5 authentication. Chilkat will automatically handle Digest-MD5 authentication as required by the server response. In this case, however, the server will fail the authentication unless a Cookie is included in the request. The cookie can have any name and any value. (Yes, this is ridiculous, and many developers have probably spent countless hours assuming their Digest-MD5 implementations were incorrect.)
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; strResponse: PWideChar; status: Integer; begin // This example assumes the Chilkat HTTP API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); CkHttp_putLogin(http,'user'); CkHttp_putPassword(http,'passwd'); // Add a cookie to satisfy httpbin.org's desire for cookies.. // Otherwise, it will fail the perfectly valid Digest-MD5 authentication. CkHttp_SetRequestHeader(http,'Cookie','something="something"'); strResponse := CkHttp__quickGetStr(http,'https://httpbin.org/digest-auth/auth/user/passwd'); if (CkHttp_getLastMethodSuccess(http) = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; Memo1.Lines.Add(strResponse); status := CkHttp_getLastStatus(http); Memo1.Lines.Add('response status code = ' + IntToStr(status)); // The output of this program is: // // { // "authenticated": true, // "user": "user" // } // // response status code = 200 CkHttp_Dispose(http); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.