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

HTTP PUT JSON

See more HTTP Examples

Demonstrates how to send a JSON PUT and get the JSON response body.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oReq = ObjCreate("Chilkat.HttpRequest")
$oHttp = ObjCreate("Chilkat.Http")

;  The PUT request to be sent will look like this:

;  PUT /request HTTP/1.1
;  Content-Type: application/jsonrequest
;  Cookie: JSESSIONID=1234
;  Content-Encoding: identity
;  Host: json.penzance.org
;  Accept: application/jsonrequest
;  Accept-Encoding:
;  Content-Length: 72
;  
;  {"user":"doctoravatar@penzance.com","forecast":7,"t":"vlIj","zip":94089}

;  First, remove default header fields that would be automatically
;  sent.  (These headers are harmless, and shouldn't need to 
;  be suppressed, but just in case...)
$oHttp.AcceptCharset = ""
$oHttp.UserAgent = ""
$oHttp.AcceptLanguage = ""

;  Suppress the Accept-Encoding header by disallowing 
;  a gzip response:
$oHttp.AllowGzip = False

;  If a Cookie needs to be added...
$oHttp.SetRequestHeader "Cookie","JSESSIONID=1234"

;  Add the Content-Encoding: identity header.
$oHttp.SetRequestHeader "Content-Encoding","identity"

;  Modify the default "Accept" header:
$oHttp.Accept = "application/jsonrequest"

Local $sJsonText = "{""user"":""doctoravatar@penzance.com"",""forecast"":7,""t"":""vlIj"",""zip"":94089}"

;  IMPORTANT: Make sure to change the URL, JSON text,
;  and other data items to your own values.  The URL used
;  in this example will not actually work.

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpStr("PUT","http://json.penzance.org/request",$sJsonText,"utf-8","application/jsonrequest",$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("Response status code: " & $oResp.StatusCode & @CRLF)
ConsoleWrite("Response JSON:" & @CRLF)
ConsoleWrite($oResp.BodyStr & @CRLF)