B4X Requires Chilkat v11.0.0+
B4X
HTTP PUT JSON
See more HTTP Examples
Demonstrates how to send a JSON PUT and get the JSON response body.Chilkat B4X Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim req As ChilkatHttpRequest
req.Initialize
Dim http As ChilkatHttp
http.Initialize("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...)
http.AcceptCharset = ""
http.UserAgent = ""
http.AcceptLanguage = ""
' Suppress the Accept-Encoding header by disallowing
' a gzip response:
http.AllowGzip = False
' If a Cookie needs to be added...
http.SetRequestHeader("Cookie", "JSESSIONID=1234")
' Add the Content-Encoding: identity header.
http.SetRequestHeader("Content-Encoding", "identity")
' Modify the default "Accept" header:
http.Accept = "application/jsonrequest"
Dim jsonText As String = "{" & Chr(34) & "user" & Chr(34) & ":" & Chr(34) & "doctoravatar@penzance.com" & Chr(34) & "," & Chr(34) & "forecast" & Chr(34) & ":7," & Chr(34) & "t" & Chr(34) & ":" & Chr(34) & "vlIj" & Chr(34) & "," & Chr(34) & "zip" & Chr(34) & ":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.
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpStr("PUT", "http://json.penzance.org/request", jsonText, "utf-8", "application/jsonrequest", resp)
If success = False Then
Log(http.LastErrorText)
Return
End If
Log("Response status code: " & resp.StatusCode)
Log("Response JSON:")
Log(resp.BodyStr)