Sample code for 30+ languages & platforms
Delphi DLL

Example: Http.HttpReq method

Demonstrates how to call the HttpReq method.

Chilkat Delphi DLL Downloads

Delphi DLL
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;