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) Duplicate curl -u user:password with Chilkat HTTPDemonstrates how to duplicate a curl command that uses the -u username:password option. (This assumes HTTP Basic Authentication, and Chilkat requires Basic authentication to be over a TLS connection.) Duplicates the following curl command: curl https://api.sandbox.paypal.com/v1/oauth2/token \ -H "Accept: application/json" \ -H "Accept-Language: en_US" \ -u "Client-Id:Secret" \ -d "grant_type=client_credentials"
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpRequest, HttpResponse; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; req: HCkHttpRequest; resp: HCkHttpResponse; begin // It requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); req := CkHttpRequest_Create(); // The AddHeader method corresponds to the curl "-H" argument. CkHttpRequest_AddHeader(req,'Accept','application/json'); CkHttpRequest_AddHeader(req,'Accept-Language','en_US'); // The curl "-d" argument specifies the HTTP request body. In this case, // we're sending an application/x-www-form-urlencoded request, and therefore // the body contains the URL-encoded query parameters. CkHttpRequest_AddParam(req,'grant_type','client_credentials'); CkHttp_putLogin(http,'PAYPAL_REST_API_CLIENT_ID'); CkHttp_putPassword(http,'PAYPAL_REST_API_SECRET'); // Sends a POST request where the Content-Type is application/x-www-form-urlencoded resp := CkHttp_PostUrlEncoded(http,'https://api.sandbox.paypal.com/v1/oauth2/token',req); if (CkHttp_getLastMethodSuccess(http) <> True) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; if (CkHttpResponse_getStatusCode(resp) <> 200) then begin Memo1.Lines.Add('Error status code: ' + IntToStr(CkHttpResponse_getStatusCode(resp))); Memo1.Lines.Add(CkHttpResponse__bodyStr(resp)); CkHttpResponse_Dispose(resp); Exit; end; // The JSON response is in the resp BodyStr property Memo1.Lines.Add(CkHttpResponse__bodyStr(resp)); Memo1.Lines.Add('-- Success.'); CkHttpResponse_Dispose(resp); CkHttp_Dispose(http); CkHttpRequest_Dispose(req); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.