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
(Delphi DLL) Initialize an HTTP Request from a URLDemonstrates how to initialize an HTTP request object from a URL.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, HttpRequest; ... procedure TForm1.Button1Click(Sender: TObject); var req: HCkHttpRequest; i: Integer; numParams: Integer; begin req := CkHttpRequest_Create(); // 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" Memo1.Lines.Add('verb = ' + CkHttpRequest__httpVerb(req)); // The path will be "/watch" Memo1.Lines.Add('path = ' + CkHttpRequest__path(req)); // The output of this loop will be // 0) v: fAZdTchQePc // 1) t: 45s numParams := CkHttpRequest_getNumParams(req); for i := 0 to numParams - 1 do begin Memo1.Lines.Add(IntToStr(i) + ') ' + CkHttpRequest__getParamName(req,i) + ': ' + CkHttpRequest__getParamValue(req,i)); end; // 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. Memo1.Lines.Add(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 // Memo1.Lines.Add(CkHttpRequest__generateRequestText(req)); // We can remove a parameter: CkHttpRequest_RemoveParam(req,'t'); Memo1.Lines.Add(CkHttpRequest__generateRequestText(req)); // What happens if we change the request from a GET to a POST? CkHttpRequest_putHttpVerb(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 // Memo1.Lines.Add(CkHttpRequest__generateRequestText(req)); // What happens if we make it a multipart/form-data? CkHttpRequest_putContentType(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-- Memo1.Lines.Add(CkHttpRequest__generateRequestText(req)); CkHttpRequest_Dispose(req); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.