今天我在用go发送json数据时,客户端收不到,发送代码如下
func HttpSender(url string,data io.Reader,method string){
transport:=http.Transport{
DisableKeepAlives:true,
}
client:=http.Client{
Transport:&transport,
}
request,err:=http.NewRequest(method,url,data)
if err!=nil{
log.Info("http request error")
log.Error(err)
return
}
response,err:=client.Do(request)
if err!=nil{
log.Info("http request error")
log.Error(err)
return
}
if response!=nil{
defer response.Body.Close()
}
}
经过检查发现发送的数据跑到了head里面,经过设置了content-type=json后,服务器才正常获取我发送的数据
func HttpSender(url string,data io.Reader,method string){
transport:=http.Transport{
DisableKeepAlives:true,
}
client:=http.Client{
Transport:&transport,
}
request,err:=http.NewRequest(method,url,data)
request.Header.Add("Content-Type","application/json")
if err!=nil{
log.Info("http request error")
log.Error(err)
return
}
response,err:=client.Do(request)
if err!=nil{
log.Info("http request error")
log.Error(err)
return
}
if response!=nil{
defer response.Body.Close()
}
}