![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Example: Http.SetOAuthRsaKey methodDemonstrates the
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Pfx, PrivateKey, HttpResponse, Http; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; pfx: HCkPfx; privKey: HCkPrivateKey; http: HCkHttp; resp: HCkHttpResponse; begin success := False; pfx := CkPfx_Create(); success := CkPfx_LoadPfxFile(pfx,'qa_data/pfx/MCD_Sandbox_chilkat_iccp_API_Keys/chilkat_iccp-sandbox.p12','keystorepassword'); if (success = False) then begin Memo1.Lines.Add(CkPfx__lastErrorText(pfx)); Exit; end; privKey := CkPrivateKey_Create(); success := CkPfx_PrivateKeyAt(pfx,0,privKey); if (success = False) then begin Memo1.Lines.Add(CkPfx__lastErrorText(pfx)); Exit; end; http := CkHttp_Create(); // Use OAuth1.0a authentication. CkHttp_putOAuth1(http,True); // Use your own consumer key (this is not a valid consumer key) CkHttp_putOAuthConsumerKey(http,'123abc'); CkHttp_putOAuthSigMethod(http,'RSA-SHA256'); success := CkHttp_SetOAuthRsaKey(http,privKey); if (success = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; // Tell Chilkat to automatically calculate and add the oauth_body_hash field when sending the request. CkHttp_putOAuthBodyHash(http,True); // Send this request to an endpoint at chilkatsoft.com. The purpose of this example is to show // how the OAuth1.0a Authorization header is computed and sent by Chilkat. // The chilkatsoft.com site itself doesn't do OAuth1. It's just ignoring the Authorization header. resp := CkHttpResponse_Create(); success := CkHttp_HttpStr(http,'POST','https://chilkatsoft.com/echo_request_body.asp','<notUsed>123</notUsed>','utf-8','application/xml',resp); if (success = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; // Examine the request header we just sent.. Memo1.Lines.Add(CkHttp__lastHeader(http)); // Sample output: // POST /echo_request_body.asp HTTP/1.1 // Host: chilkatsoft.com // Accept: */* // Accept-Encoding: gzip // Content-Type: application/xml // Content-Length: 22 // Authorization: OAuth oauth_consumer_key="123abc", oauth_nonce="A2E91C3B53E0BD7FBF71F441336679E358DDCEEE", oauth_body_hash="a5kPTsDwUwmBjC0voNlAAvM6YoaRS5X7sTO49jl3/h8=", oauth_timestamp="1756324932", oauth_signature_method="RSA-SHA256", oauth_version="1.0", oauth_signature="*****" CkPfx_Dispose(pfx); CkPrivateKey_Dispose(privKey); CkHttp_Dispose(http); CkHttpResponse_Dispose(resp); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.