Sample code for 30+ languages & platforms
PureBasic

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 PureBasic Downloads

PureBasic
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpRequest.pb"

Procedure ChilkatExample()

    success.i = 0

    ; 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.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    req.i = CkHttpRequest::ckCreate()
    If req.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttpRequest::setCkHttpVerb(req, "POST")
    CkHttpRequest::setCkPath(req, "/auth/signin")
    CkHttpRequest::setCkCharset(req, "utf-8")
    CkHttpRequest::setCkContentType(req, "application/x-www-form-urlencoded")

    CkHttpRequest::ckAddParam(req,"grant_type","password")
    CkHttpRequest::ckAddParam(req,"username","YourUsername")
    CkHttpRequest::ckAddParam(req,"password","YourPassword")

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

    resp.i = CkHttpResponse::ckCreate()
    If resp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkHttp::ckHttpReq(http,"https://auth.fatturazioneelettronica.aruba.it/auth/signin",req,resp)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkHttpRequest::ckDispose(req)
        CkHttpResponse::ckDispose(resp)
        ProcedureReturn
    EndIf

    Debug "Response Status: " + Str(CkHttpResponse::ckStatusCode(resp))
    Debug "Response Body: "
    Debug CkHttpResponse::ckBodyStr(resp)


    CkHttp::ckDispose(http)
    CkHttpRequest::ckDispose(req)
    CkHttpResponse::ckDispose(resp)


    ProcedureReturn
EndProcedure