Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) Initialize an HTTP Request from a URLDemonstrates how to initialize an HTTP request object from a URL.
load ./chilkat.dll set req [new_CkHttpRequest] # Loads the HTTP request object from a URL CkHttpRequest_SetFromUrl $req "https://www.youtube.com/watch?v=fAZdTchQePc&t=45s" # The verb will be "GET" puts "verb = [CkHttpRequest_httpVerb $req]" # The path will be "/watch" puts "path = [CkHttpRequest_path $req]" # The output of this loop will be # 0) v: fAZdTchQePc # 1) t: 45s set numParams [CkHttpRequest_get_NumParams $req] for {set i 0} {$i <= [expr $numParams - 1]} {incr i} { puts "$i) [CkHttpRequest_getParamName $req $i]: [CkHttpRequest_getParamValue $req $i]" } # View the request that would be sent if SynchronousRequest 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 SynchronousRequest is called. puts [CkHttpRequest_generateRequestText $req] # We can add additional params CkHttpRequest_AddParam $req "artist" "Richard Bona" CkHttpRequest_AddParam $req "musicType" "Jazz" CkHttpRequest_AddParam $req "festival" "Estival Jazz Lugano" CkHttpRequest_AddParam $req "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 # puts [CkHttpRequest_generateRequestText $req] # We can remove a parameter: CkHttpRequest_RemoveParam $req "t" puts [CkHttpRequest_generateRequestText $req] # What happens if we change the request from a GET to a POST? CkHttpRequest_put_HttpVerb $req "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 # puts [CkHttpRequest_generateRequestText $req] # What happens if we make it a multipart/form-data? CkHttpRequest_put_ContentType $req "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-- puts [CkHttpRequest_generateRequestText $req] delete_CkHttpRequest $req |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.