DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
Variant vResp
Handle hoResp
String sContentLengthStr
String sTemp1
Boolean bTemp1
Move False To iSuccess
// This example assumes the Chilkat 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
Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
If (Not(IsComObjectCreated(hoResp))) Begin
Send CreateComObject of hoResp
End
Get pvComObject of hoResp to vResp
Get ComHttpNoBody Of hoHttp "HEAD" "https://nodejs.org/dist/v10.16.1/node-v10.16.1-win-x64.zip" vResp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
// Examine the response header.
Get ComHeader Of hoResp To sTemp1
Showln sTemp1
// 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.
Get ComGetHeaderField Of hoResp "Content-Length" To sContentLengthStr
// If the header exists...
Get ComLastMethodSuccess Of hoResp To bTemp1
If (bTemp1 = True) Begin
Showln "Content-Length: " sContentLengthStr
// Your application can convert the contentLengthStr to an integer and then use it....
End
End_Procedure