Unable to send JSON as body for HTTP POST request in GO -
when make post request using below go function. invalid json
on server side.
if send static json example
var jsonprep = []byte(`{"username":"xyz@gmail.com","password":"xyz123"}`)
it work instead of
var jsonprep string = "`{username:"+username+",password:"+password+"}`"
.
func makehttppostreq(url string, username string, password string){ client := http.client{} var jsonprep string = "`{username:"+username+",password:"+password+"}`" var jsonstr = []byte(jsonprep) req, err := http.newrequest("post", url, bytes.newbuffer(jsonstr)) req.header.set("content-type", "application/json") resp, err := client.do(req) if err != nil { fmt.println("unable reach server.") } else { body, _ := ioutil.readall(resp.body) fmt.println("body=", string(body)) } }
you've got quoting wrong:
http://play.golang.org/p/puewyq1atq
var jsonprep string = "`{username:"+username+",password:"+password+"}`" ===> `{username:bob,password:pass}`
you meant:
http://play.golang.org/p/lmuwxarf8g
var jsonprep string = `{"username":"`+username+`","password":"`+password+`"}` ===> {"username":"bob","password":"pass"}
Comments
Post a Comment