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
(Unicode C) 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.)
#include <C_CkHttpW.h> void ChilkatSample(void) { HCkHttpW http; const wchar_t *strResponse; int status; // This example assumes the Chilkat HTTP API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttpW_Create(); CkHttpW_putLogin(http,L"user"); CkHttpW_putPassword(http,L"passwd"); // Add a cookie to satisfy httpbin.org's desire for cookies.. // Otherwise, it will fail the perfectly valid Digest-MD5 authentication. CkHttpW_SetRequestHeader(http,L"Cookie",L"something=\"something\""); strResponse = CkHttpW_quickGetStr(http,L"https://httpbin.org/digest-auth/auth/user/passwd"); if (CkHttpW_getLastMethodSuccess(http) == FALSE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkHttpW_Dispose(http); return; } wprintf(L"%s\n",strResponse); status = CkHttpW_getLastStatus(http); wprintf(L"response status code = %d\n",status); // The output of this program is: // // { // "authenticated": true, // "user": "user" // } // // response status code = 200 CkHttpW_Dispose(http); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.