Sample code for 30+ languages & platforms
Delphi DLL Requires Chilkat v11.0.0+

Example: Http.HttpReq method

Demonstrates how to call the HttpReq method.

Chilkat Delphi DLL Downloads

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