Sample code for 30+ languages & platforms
Delphi DLL

auth.fatturazioneelettronica.aruba.it GetToken

See more HTTP Misc Examples

Sample code to duplicate MSXML2.XMLHTTP.6.0 code to send a x-www-form-urlencoded POST.

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;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
http: HCkHttp;
req: HCkHttpRequest;
resp: HCkHttpResponse;

begin
success := False;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// This example duplicates the following Microsoft FoxPro (XMLHTTP) code

// Local loHttp As "MSXML2.XMLHTTP.6.0" && creazione oggetto per richieste HTTP
// loHttp = Createobject("MSXML2.XMLHTTP.6.0")
// 
// LOCAL luser, lpassword
// luser = "myuser" 
// lpassword = "mypwd" 
// Local lEsito 
// With loHttp As MSXML2.XMLHTTP.6.0
// 	.Open("POST", 'https://auth.fatturazioneelettronica.aruba.it/auth/signin' ,.F.) && URL del Cloud di Test da sostituire con quello di produzione
// 	.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8") 
// 	.setRequestHeader("Content-Length","53") 
// 	.Send("grant_type=password&username="+luser+"&password="+lpassword) && faccio la POST con le variabili
// 	Store .responsetext To lEsito && memorizzo la risposta del server
// Endwith
// 
// Public oConnessione_Aruba
// oConnessione_Aruba = nfjsonread(lEsito)

http := CkHttp_Create();
req := CkHttpRequest_Create();

CkHttpRequest_putHttpVerb(req,'POST');
CkHttpRequest_putPath(req,'/auth/signin');
CkHttpRequest_putCharset(req,'utf-8');
CkHttpRequest_putContentType(req,'application/x-www-form-urlencoded');

CkHttpRequest_AddParam(req,'grant_type','password');
CkHttpRequest_AddParam(req,'username','YourUsername');
CkHttpRequest_AddParam(req,'password','YourPassword');

// No need to set Content-Length because Chilkat always computes the actual content length and adds the header.

resp := CkHttpResponse_Create();
success := CkHttp_HttpReq(http,'https://auth.fatturazioneelettronica.aruba.it/auth/signin',req,resp);
if (success = False) then
  begin
    Memo1.Lines.Add(CkHttp__lastErrorText(http));
    Exit;
  end;

Memo1.Lines.Add('Response Status: ' + IntToStr(CkHttpResponse_getStatusCode(resp)));
Memo1.Lines.Add('Response Body: ');
Memo1.Lines.Add(CkHttpResponse__bodyStr(resp));

CkHttp_Dispose(http);
CkHttpRequest_Dispose(req);
CkHttpResponse_Dispose(resp);

end;