Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoHttp
    String sStrResponse
    Integer iStatus
    String sTemp1
    Boolean bTemp1

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    Set ComLogin Of hoHttp To "user"
    Set ComPassword Of hoHttp To "passwd"

    // Add a cookie to satisfy httpbin.org's desire for cookies..
    // Otherwise, it will fail the perfectly valid Digest-MD5 authentication.
    Send ComSetRequestHeader To hoHttp "Cookie" 'something="something"'

    Get ComQuickGetStr Of hoHttp "https://httpbin.org/digest-auth/auth/user/passwd" To sStrResponse
    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln sStrResponse

    Get ComLastStatus Of hoHttp To iStatus
    Showln "response status code = " iStatus

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


End_Procedure