Delphi DLL
Delphi DLL
Example: Http.HttpReq method
Demonstrates how to call the HttpReq method.Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpRequest, HttpResponse, JsonObject;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
http: HCkHttp;
json: HCkJsonObject;
req: HCkHttpRequest;
resp: HCkHttpResponse;
begin
success := False;
http := CkHttp_Create();
success := False;
// This example will send an HTTP POST with the body of the HTTP request containing JSON.
// Create the following JSON: { "name": "Harry", "state": "FL" }
json := CkJsonObject_Create();
CkJsonObject_UpdateString(json,'name','Harry');
CkJsonObject_UpdateString(json,'state','FL');
// Specify the details of the request
req := CkHttpRequest_Create();
CkHttpRequest_putHttpVerb(req,'POST');
CkHttpRequest_putContentType(req,'application/json');
CkHttpRequest_LoadBodyFromString(req,CkJsonObject__emit(json),'utf-8');
// Send the charset attribute in the HTTP request header.
CkHttpRequest_putSendCharset(req,True);
CkHttpRequest_putCharset(req,'utf-8');
// Send the POST
// You can send the POST to the URL below.
// The response will contain the raw body of the request that was sent.
// (i.e. everything except the HTTP request header).
resp := CkHttpResponse_Create();
success := CkHttp_HttpReq(http,'https://www.chilkatsoft.com/echo_request_body.asp',req,resp);
if (success = False) then
begin
Memo1.Lines.Add(CkHttp__lastErrorText(http));
Exit;
end;
// Examine the HTTP request header we sent:
Memo1.Lines.Add(CkHttp__lastHeader(http));
// The response body contains the raw content of the HTTP request body we sent.
Memo1.Lines.Add(CkHttpResponse__bodyStr(resp));
// Sample output:
// POST /echo_request_body.asp HTTP/1.1
// Host: www.chilkatsoft.com
// Content-Type: application/json; charset=utf-8
// Content-Length: 29
//
//
// {"name":"Harry","state":"FL"}
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
CkHttpRequest_Dispose(req);
CkHttpResponse_Dispose(resp);
end;