PureBasic
PureBasic
Get Size of File on Web Server
See more HTTP Examples
Demonstrates how to send a HEAD request to fetch information about a file on a web server, which hopefully includes the Content-Length in the response header.Chilkat PureBasic Downloads
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes 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
resp.i = CkHttpResponse::ckCreate()
If resp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckHttpNoBody(http,"HEAD","https://nodejs.org/dist/v10.16.1/node-v10.16.1-win-x64.zip",resp)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
; Examine the response header.
Debug CkHttpResponse::ckHeader(resp)
; Here is a sample response header:
; Date: Thu, 01 Aug 2019 12:47:27 GMT
; Content-Type: application/zip
; Content-Length: 17457922
; Connection: keep-alive
; Set-Cookie: __cfduid=da5b78dcdd8171683c5a578eb9c9f88c81564663647; expires=Fri, 31-Jul-20 12:47:27 GMT; path=/; domain=.nodejs.org; HttpOnly
; Last-Modified: Wed, 31 Jul 2019 18:21:57 GMT
; ETag: "5d41dc45-10a6302"
; Accept-Ranges: bytes
; Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
; Server: cloudflare
; CF-RAY: 4ff7ebb32ac4e1e2-ORD
; Get the Content-Length header.
contentLengthStr.s = CkHttpResponse::ckGetHeaderField(resp,"Content-Length")
; If the header exists...
If CkHttpResponse::ckLastMethodSuccess(resp) = 1
Debug "Content-Length: " + contentLengthStr
; Your application can convert the contentLengthStr to an integer and then use it....
EndIf
CkHttp::ckDispose(http)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndProcedure