Sample code for 30+ languages & platforms
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

DataFlex
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