亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在參數中添加數組時 HTTP GET 失敗,但使用 postman 會成功

在參數中添加數組時 HTTP GET 失敗,但使用 postman 會成功

Go
一只萌萌小番薯 2023-07-31 17:28:08
我有一個包含數組的 URL。當我打印 URL 時,我得到:https://myurl.com?args=["2019-11-06T19:20:00Z", "2019-11-06T22:30:00Z"]當我用郵遞員進行 GET 時,我可以獲得成功的狀態代碼:Success 200但是當我用 Go 執行此操作時,我收到狀態代碼:502 Bad requestclient := 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,所以我無法更改它。看來郵遞員正在幕后做一些事情,或者我的代碼和郵遞員請求之間應該有什么區別?
查看完整描述

1 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

最好不要手動構建 URL。使用正確的工具:


addr, _ := url.Parse("https://myurl.com")

query := url.Values{}

query.Add("args", "[" + start.Format(time.RFC3339) + ", " + end.Format(time.RFC3339) + "]")

addr.RawQuery = query.Encode()


req, err := http.NewRequest("GET", addr.String(), nil)


查看完整回答
反對 回復 2023-07-31
  • 1 回答
  • 0 關注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號