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

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

http請求后如何得到響應

http請求后如何得到響應

Go
翻閱古今 2023-05-08 16:34:53
我正在學習圍棋,并且是該領域的真正新手。當我嘗試復制一些值時遇到問題。我正在做的是:我想使用 httpRequest 在 [response] 中獲得一些響應。httpClient := &http.Client{}response, err := httpClient.Do(req)if err != nil {   panic(err)}之后,我想將存儲的值保存在'origin.txt'中作為響應origin_ ,_:= ioutil.ReadAll(response.Body)f_, err := os.Create("origin.txt")f_.Write(origin_);我想通過使用 goquery 包來獲得特定的價值。doc, err := goquery.NewDocumentFromReader(response.Body)if err != nil {    log.Fatal(err)}doc.Find(".className").Each(func(i int, s *goquery.Selection) {    w.WriteString("============" + strconv.Itoa(i) + "============")    s.Find("tr").Each(func(i int, s_ *goquery.Selection) {    fmt.Println(s_.Text())    w.WriteString(s_.Text())        })})但在這種情況下,我可以從 2) 中得到我想要的值,但不能從 3) 中得到任何值。起初,我認為問題在于,3) 處的響應對象受 2) 操作的影響。因為它是一個參考對象。所以我試圖將它復制到另一個對象,然后再做一次。origin := *response但是,我得到了與第一個相同的結果。我應該怎么辦?如何通過其值將參考值分配給另一個參考值?我應該為每次嘗試請求兩次嗎?
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

然而,話雖這么說不origin := *response會給你帶來太多好處。數據 ( response.Body) 是一個io.ReadCloser. 將ioutil.ReadAll()使用并存儲流中的所有數據。你只能這樣做一次。

但是,您將數據存儲在origin. 如果您需要另一個io.Reader用于該數據(例如案例 3),那么您可以使該字節切片io.Reader再次看起來像:bytes.NewReader(origin)。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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