Sample code for 30+ languages & platforms
Delphi DLL

Socket Convenience Method: BuildHttpGetRequest

See more Socket/SSL/TLS Examples

Demonstrates the BuildHttpGetRequest 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, HttpRequest, Socket;

...

procedure TForm1.Button1Click(Sender: TObject);
var
socket: HCkSocket;
url: PWideChar;
reqStr: PWideChar;
req: HCkHttpRequest;

begin
// The BuildHttpGetRequest method is a convenience method for building
// an HTTP GET request.  Normally, an application would use Chilkat's HTTP or REST API's
// for sending HTTP requests.  

socket := CkSocket_Create();

url := 'http://www.chilkatsoft.com/test.asp?x=123&y=456';
reqStr := CkSocket__buildHttpGetRequest(socket,url);
Memo1.Lines.Add(reqStr);
Memo1.Lines.Add('----');

// The result is:

// 	GET /test.asp?x=123&y=456 HTTP/1.1
// 	Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
// 	Connection: keep-alive
// 	User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
// 	Accept-Language: en-us,en;q=0.5
// 	Host: www.chilkatsoft.com

// The result is meant to look like a request from a browser.

// The same thing can be done using the Url and HttpRequest classes, but with more flexibility.

req := CkHttpRequest_Create();
CkHttpRequest_SetFromUrl(req,url);
reqStr := CkHttpRequest__generateRequestText(req);
Memo1.Lines.Add(reqStr);
Memo1.Lines.Add('----');

// The result is:

// 	GET /test.asp?x=123&y=456 HTTP/1.1
// 	Host: domain

// Add some headers..
CkHttpRequest_AddHeader(req,'Host','www.chilkatsoft.com');
CkHttpRequest_AddHeader(req,'Accept-Language','en-us,en;q=0.5');
CkHttpRequest_AddHeader(req,'Some-Other-Header','123456');

reqStr := CkHttpRequest__generateRequestText(req);
Memo1.Lines.Add(reqStr);

// The result is now:

// 	GET /test.asp?x=123&y=456 HTTP/1.1
// 	Host: www.chilkatsoft.com
// 	Accept-Language: en-us,en;q=0.5
// 	Some-Other-Header: 123456

CkSocket_Dispose(socket);
CkHttpRequest_Dispose(req);

end;