Delphi DLL
Delphi DLL
HTTP GET with utf-8 URL Encoded Query Params
See more HTTP Examples
Demonstrates how to build URLs where query param values can be either URL encoded from the utf-8 representation, or from another charset such as windows-1252.Note: This example uses the new DecodeAndAppend method added in Chilkat v9.5.0.87.
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, StringBuilder;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
nameWindows1252UrlEncoded: PWideChar;
sb1: HCkStringBuilder;
http: HCkHttp;
sbUrl: HCkStringBuilder;
responseBody: PWideChar;
begin
success := False;
// We have the string "MÆRSK".
// This is the URL encoding of the windows-1252 representation.
nameWindows1252UrlEncoded := 'M%C6RSK';
sb1 := CkStringBuilder_Create();
success := CkStringBuilder_DecodeAndAppend(sb1,nameWindows1252UrlEncoded,'url','windows-1252');
http := CkHttp_Create();
// Here's how to send an HTTP GET where the param is the utf-8 representation that is URL encoded.
// For example: https://www.chilkatsoft.com/something?name=M%C3%A6RSK
sbUrl := CkStringBuilder_Create();
CkStringBuilder_Append(sbUrl,'https://www.chilkatsoft.com/something?name=');
CkStringBuilder_Append(sbUrl,CkStringBuilder__getEncoded(sb1,'url','utf-8'));
Memo1.Lines.Add(CkStringBuilder__getAsString(sbUrl));
responseBody := CkHttp__quickGetStr(http,CkStringBuilder__getAsString(sbUrl));
// Here's how to send an HTTP GET where the param is the windows-1252 representation that is URL encoded.
// For example: https://www.chilkatsoft.com/something?name=M%E6RSK
CkStringBuilder_Clear(sbUrl);
CkStringBuilder_Append(sbUrl,'https://www.chilkatsoft.com/something?name=');
CkStringBuilder_Append(sbUrl,CkStringBuilder__getEncoded(sb1,'url','windows-1252'));
Memo1.Lines.Add(CkStringBuilder__getAsString(sbUrl));
responseBody := CkHttp__quickGetStr(http,CkStringBuilder__getAsString(sbUrl));
CkStringBuilder_Dispose(sb1);
CkHttp_Dispose(http);
CkStringBuilder_Dispose(sbUrl);
end;