我似乎無法弄清楚如何在go.我正在關(guān)注本教程:https://github.com/parnurzeal/gorequest我可以使用 傳遞參數(shù)Header,我認(rèn)為這是一個(gè)壞主意。我基本上是在尋找go版本pythonIn [28]: import requestsIn [29]: r = requests.get("http://localhost:8000/get_result", params={"number": 40})以下是我的 REST API 代碼:package mainimport ( "net/http" "strconv" "fmt")func make_result(w http.ResponseWriter, r *http.Request) { fmt.Println(r) err := r.ParseForm() if err != nil { panic(err) } number_string := r.Form["number"][0] // number_string := r.Header["Number"][0] header solution number, err := strconv.Atoi(number_string) if err != nil { panic(err) } fmt.Fprint(w, fmt.Sprint(number * 5))}func main() { http.HandleFunc("/get_result", make_result) http.ListenAndServe("localhost:8000", nil)}我正在嘗試使用以下代碼調(diào)用它:package mainimport( "fmt" "reflect" "github.com/parnurzeal/gorequest")func main() { resp, body, errs := gorequest.New(). Get("http://localhost:8000/get_result"). Set("Number", "7"). // Changes the Header Type("form"). // These two lines appear Send(`{"number": 5}`). // to be irrelevant End() fmt.Println(errs) fmt.Println(resp) fmt.Println(body)}以上類似于python的:In [34]: r = requests.get("http://localhost:8000/get_result", headers={"Number": 7})當(dāng)我使用 python 方法(使用參數(shù))調(diào)用 api 時(shí),我看到/get_result?number=7 <nil> <nil>line 被打印為request object. 但是在我的 go 版本中沒有看到它,所以我一定是錯(cuò)誤地調(diào)用了它。我錯(cuò)過了什么?
1 回答

12345678_0001
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
看起來您需要使用它Param
來執(zhí)行此操作。
此外,標(biāo)準(zhǔn)庫NewRequest
返回一個(gè) Request 結(jié)構(gòu),URL
其中包含一個(gè)函數(shù)Query
,您可以Add
在發(fā)出請(qǐng)求之前使用該函數(shù)作為查詢的參數(shù)。
- 1 回答
- 0 關(guān)注
- 186 瀏覽
添加回答
舉報(bào)
0/150
提交
取消