Sample code for 30+ languages & platforms
Go

Example: Http.HttpReq method

Demonstrates how to call the HttpReq method.

Chilkat Go Downloads

Go
    success := false

    http := chilkat.NewHttp()
    success = false

    // This example will send an HTTP POST with the body of the HTTP request containing JSON.

    // Create the following JSON: { "name": "Harry", "state": "FL" }

    json := chilkat.NewJsonObject()
    json.UpdateString("name","Harry")
    json.UpdateString("state","FL")

    // Specify the details of the request
    req := chilkat.NewHttpRequest()

    req.SetHttpVerb("POST")
    req.SetContentType("application/json")
    req.LoadBodyFromString(*json.Emit(),"utf-8")

    // Send the charset attribute in the HTTP request header.
    req.SetSendCharset(true)
    req.SetCharset("utf-8")

    // Send the POST
    // You can send the POST to the URL below.  
    // The response will contain the raw body of the request that was sent.
    // (i.e. everything except the HTTP request header).

    resp := chilkat.NewHttpResponse()
    success = http.HttpReq("https://www.chilkatsoft.com/echo_request_body.asp",req,resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        json.DisposeJsonObject()
        req.DisposeHttpRequest()
        resp.DisposeHttpResponse()
        return
    }

    // Examine the HTTP request header we sent:
    fmt.Println(http.LastHeader())

    // The response body contains the raw content of the HTTP request body we sent.
    fmt.Println(resp.BodyStr())

    // Sample output:

    // POST /echo_request_body.asp HTTP/1.1
    // Host: www.chilkatsoft.com
    // Content-Type: application/json; charset=utf-8
    // Content-Length: 29
    // 
    // 
    // {"name":"Harry","state":"FL"}

    http.DisposeHttp()
    json.DisposeJsonObject()
    req.DisposeHttpRequest()
    resp.DisposeHttpResponse()