|
|
(VBScript) HTTP PUT JSON
Demonstrates how to send a JSON PUT and get the JSON response body.
Download Chilkat HTTP ActiveX
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)
set req = CreateObject("Chilkat.HttpRequest")
set http = CreateObject("Chilkat.Http")
' Any string unlocks the component for the 1st 30 days.
success = http.UnlockComponent("Anything for 30-day trial")
If (success <> 1) Then
outFile.WriteLine(http.LastErrorText)
WScript.Quit
End If
' 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...)
http.AcceptCharset = ""
http.UserAgent = ""
http.AcceptLanguage = ""
' Suppress the Accept-Encoding header by disallowing
' a gzip response:
http.AllowGzip = 0
' If a Cookie needs to be added, it may be added by calling
' AddQuickHeader:
http.AddQuickHeader "Cookie","JSESSIONID=1234"
' Add the Content-Encoding: identity header.
http.AddQuickHeader "Content-Encoding","identity"
' Modify the default "Accept" header:
http.Accept = "application/jsonrequest"
jsonText = "{""user"":""doctoravatar@penzance.com"",""forecast"":7,""t"":""vlIj"",""zip"":94089}"
' To use SSL/TLS, simply use "https://" in the URL.
' 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.
responseBody = http.PutText("http://json.penzance.org/request",jsonText,"utf-8","application/jsonrequest",0,0)
If (responseBody = vbNullString ) Then
outFile.WriteLine(http.LastErrorText)
Else
' Display the JSON response.
outFile.WriteLine(responseBody)
End If
outFile.Close
|