Sample code for 30+ languages & platforms
DataFlex

Initialize an HTTP Request from a URL

See more HTTP Examples

Demonstrates how to initialize an HTTP request object from a URL.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoReq
    Integer i
    Integer iNumParams
    String sTemp1
    String sTemp2

    Get Create (RefClass(cComChilkatHttpRequest)) To hoReq
    If (Not(IsComObjectCreated(hoReq))) Begin
        Send CreateComObject of hoReq
    End

    // Loads the HTTP request object from a URL
    Send ComSetFromUrl To hoReq "https://www.youtube.com/watch?v=fAZdTchQePc&t=45s"

    // The verb will be "GET"
    Get ComHttpVerb Of hoReq To sTemp1
    Showln "verb = " sTemp1
    // The path will be "/watch"
    Get ComPath Of hoReq To sTemp1
    Showln "path = " sTemp1

    // The output of this loop will be
    // 0) v: fAZdTchQePc
    // 1) t: 45s

    Get ComNumParams Of hoReq To iNumParams
    For i From 0 To (iNumParams - 1)
        Get ComGetParamName Of hoReq i To sTemp1
        Get ComGetParamValue Of hoReq i To sTemp2
        Showln i ") " sTemp1 ": " sTemp2
    Loop

    // View the request that would be sent if HttpSReq is called.
    // The HTTP request will be a GET that looks like this:
    // 
    //     GET /watch?v=fAZdTchQePc&t=45s HTTP/1.1
    //     Host: domain
    // 
    // Note: The HOST header will automatically get filled in with the actual domain when HttpSReq is called.

    Get ComGenerateRequestText Of hoReq To sTemp1
    Showln sTemp1

    // We can add additional params
    Send ComAddParam To hoReq "artist" "Richard Bona"
    Send ComAddParam To hoReq "musicType" "Jazz"
    Send ComAddParam To hoReq "festival" "Estival Jazz Lugano"
    Send ComAddParam To hoReq "year" "2008"

    // Now examine the request that would be sent
    // 
    //     GET /watch?v=fAZdTchQePc&t=45s&artist=Richard%20Bona&musicType=Jazz&festival=Estival%20Jazz%20Lugano&year=2008 HTTP/1.1
    //     Host: domain
    // 
    Get ComGenerateRequestText Of hoReq To sTemp1
    Showln sTemp1

    // We can remove a parameter:
    Send ComRemoveParam To hoReq "t"
    Get ComGenerateRequestText Of hoReq To sTemp1
    Showln sTemp1

    // What happens if we change the request from a GET to a POST?
    Set ComHttpVerb Of hoReq To "POST"
    // The request will now look like this:
    // 
    //    POST /watch HTTP/1.1
    //    Host: domain
    //    Content-Length: 93
    //    
    //    v=fAZdTchQePc&artist=Richard%20Bona&musicType=Jazz&festival=Estival%20Jazz%20Lugano&year=2008
    // 
    Get ComGenerateRequestText Of hoReq To sTemp1
    Showln sTemp1

    // What happens if we make it a multipart/form-data?
    Set ComContentType Of hoReq To "multipart/form-data"
    // Now the POST looks like this:
    //    
    //    POST /watch HTTP/1.1
    //    Content-Type: multipart/form-data; boundary=------------020906020106050705030807
    //    Host: domain
    //    Content-Length: 545
    //    
    //    --------------020906020106050705030807
    //    Content-Disposition: form-data; name="v"
    //    
    //    fAZdTchQePc
    //    --------------020906020106050705030807
    //    Content-Disposition: form-data; name="artist"
    //    
    //    Richard Bona
    //    --------------020906020106050705030807
    //    Content-Disposition: form-data; name="musicType"
    //    
    //    Jazz
    //    --------------020906020106050705030807
    //    Content-Disposition: form-data; name="festival"
    //    
    //    Estival Jazz Lugano
    //    --------------020906020106050705030807
    //    Content-Disposition: form-data; name="year"
    //    
    //    2008
    //    --------------020906020106050705030807--

    Get ComGenerateRequestText Of hoReq To sTemp1
    Showln sTemp1


End_Procedure