PureBasic
PureBasic
Get Response Header for Method that does not Return HttpResponse Object
Demonstrates how to get the response header and individual response header fields for a method that does not return an HTTP response object. (If a method returns an HHTTP response object, then the response header information should be obtained from the response object.)Chilkat PureBasic Downloads
IncludeFile "CkMime.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
strHtml.s = CkHttp::ckQuickGetStr(http,"https://www.duckduckgo.com/")
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
ProcedureReturn
EndIf
Debug CkHttp::ckLastResponseHeader(http)
; Here's a sample HTTP response header:
; Server: nginx
; Date: Wed, 30 Sep 2020 13:13:02 GMT
; Content-Type: text/html; charset=UTF-8
; Transfer-Encoding: chunked
; Connection: keep-alive
; Vary: Accept-Encoding
; ETag: W/"5f7371f4-1683"
; Strict-Transport-Security: max-age=31536000
; X-Frame-Options: SAMEORIGIN
; Content-Security-Policy: default-src https: blob: data: 'unsafe-inline' 'unsafe-eval'; frame-ancestors 'self'
; X-XSS-Protection: 1;mode=block
; X-Content-Type-Options: nosniff
; Referrer-Policy: origin
; Expect-CT: max-age=0
; Expires: Wed, 30 Sep 2020 13:13:01 GMT
; Cache-Control: no-cache
; Content-Encoding: gzip
; We can load it into a Chilkat MIME object to get header field values:
mime.i = CkMime::ckCreate()
If mime.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkMime::ckLoadMime(mime,CkHttp::ckLastResponseHeader(http))
If success = 0
Debug CkMime::ckLastErrorText(mime)
CkHttp::ckDispose(http)
CkMime::ckDispose(mime)
ProcedureReturn
EndIf
; Get MIME header field values using Chilkat MIME...
Debug "----"
Debug "ETag: " + CkMime::ckGetHeaderField(mime,"ETag")
CkHttp::ckDispose(http)
CkMime::ckDispose(mime)
ProcedureReturn
EndProcedure