Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3/4 Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(PureBasic) Initialize an HTTP Request from a URLDemonstrates how to initialize an HTTP request object from a URL.
IncludeFile "CkHttpRequest.pb" Procedure ChilkatExample() req.i = CkHttpRequest::ckCreate() If req.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Loads the HTTP request object from a URL CkHttpRequest::ckSetFromUrl(req,"https://www.youtube.com/watch?v=fAZdTchQePc&t=45s") ; The verb will be "GET" Debug "verb = " + CkHttpRequest::ckHttpVerb(req) ; The path will be "/watch" Debug "path = " + CkHttpRequest::ckPath(req) ; The output of this loop will be ; 0) v: fAZdTchQePc ; 1) t: 45s i.i numParams.i = CkHttpRequest::ckNumParams(req) For i = 0 To numParams - 1 Debug Str(i) + ") " + CkHttpRequest::ckGetParamName(req,i) + ": " + CkHttpRequest::ckGetParamValue(req,i) Next ; 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. Debug CkHttpRequest::ckGenerateRequestText(req) ; We can add additional params CkHttpRequest::ckAddParam(req,"artist","Richard Bona") CkHttpRequest::ckAddParam(req,"musicType","Jazz") CkHttpRequest::ckAddParam(req,"festival","Estival Jazz Lugano") CkHttpRequest::ckAddParam(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 ; Debug CkHttpRequest::ckGenerateRequestText(req) ; We can remove a parameter: CkHttpRequest::ckRemoveParam(req,"t") Debug CkHttpRequest::ckGenerateRequestText(req) ; What happens if we change the request from a GET to a POST? CkHttpRequest::setCkHttpVerb(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 ; Debug CkHttpRequest::ckGenerateRequestText(req) ; What happens if we make it a multipart/form-data? CkHttpRequest::setCkContentType(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-- Debug CkHttpRequest::ckGenerateRequestText(req) CkHttpRequest::ckDispose(req) ProcedureReturn EndProcedure |
© 2000-2019 Chilkat Software, Inc. All Rights Reserved.