Sample code for 30+ languages & platforms
PowerBuilder

HTTP Digest-MD5 Authentication Testing with httpbin.org

See more HTTP Examples

The 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.)

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Http
string ls_StrResponse
integer li_Status

// This example assumes the Chilkat HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_Http.Login = "user"
loo_Http.Password = "passwd"

// Add a cookie to satisfy httpbin.org's desire for cookies..
// Otherwise, it will fail the perfectly valid Digest-MD5 authentication.
loo_Http.SetRequestHeader("Cookie","something=~"something~"")

ls_StrResponse = loo_Http.QuickGetStr("https://httpbin.org/digest-auth/auth/user/passwd")
if loo_Http.LastMethodSuccess = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    return
end if

Write-Debug ls_StrResponse

li_Status = loo_Http.LastStatus
Write-Debug "response status code = " + string(li_Status)

// The output of this program is:
// 
// 	{ 
// 	  "authenticated": true, 
// 	  "user": "user"
// 	} 
// 
// 	response status code = 200


destroy loo_Http