在后端使用 http 包模拟 GET 请求调用其他接口时, 将参数拼接在 URL 后
http://ip:port/path?param1=value1¶m2=value2
request, err := http.NewRequest()
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
return err
}
defer response.Body.Close()
responseBytes, err := ioutil.ReadAll(response.Body)
if err != nil {
return err
}
if err := json.Unmarshal(); err != nil {
}
发送请求后使用 json.Unmarshal 将返回的 []byte 数据解析到指定的结构体中
解析时报错 invalid character ‘<’ looking for beginning of value
将参数去掉后, 解析成功不报错, 所以是参数的问题
需要将参数值使用 url.QueryEscape() 编码一下再拼接
url.QueryEscape()
http://ip:port/path?param1=url.QueryEscape(value1)¶m2=url.QueryEscape(value2)