我有一个包含数组的 URL。当我打印 URL 时,我得到:
https://myurl.com?args=["2019-11-06T19:20:00Z", "2019-11-06T22:30:00Z"]
当我用邮递员进行 GET 时,我可以获得成功的状态代码:Success 200
但是当我用 Go 执行此操作时,我收到状态代码:502 Bad request
client := http.Client{}
token := GetJWTToken()
bearer := "Bearer " + token
url := "https://myurl.com?args=[" + start.Format(time.RFC3339) + ", " + end.Format(time.RFC3339) + "]"
req, err := http.NewRequest("GET", url, nil)
if req != nil {
req.Header.Add("Authorization", bearer)
req.Header.Set("Content-Type", "application/json")
}
resp, err := client.Do(req)
bodyBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
bodyString := string(bodyBytes)
log.Info(bodyString) // Prints 502 Bad Gateway
我打印了2个URL,它们是完全一样的。
我尝试删除 url 中的“数组”,但显然失败了,因为 API 需要此参数,但它可以到达 API。
所以,我知道问题出在哪里,但不知道如何解决它,我不拥有 API,所以我无法更改它。
看来邮递员正在幕后做一些事情,或者我的代码和邮递员请求之间应该有什么区别?
肥皂起泡泡
相关分类