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

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

http.Client POST 在發送正文之前讀取響應

http.Client POST 在發送正文之前讀取響應

Go
翻翻過去那場雪 2023-08-07 14:53:03
client.Do("POST", "example.com", body)有沒有辦法在接收/關閉整個響應正文之前執行并讀取響應標頭?這類似于 JavaScript XHR 請求發出一個事件,表明已收到標頭,您可以在請求的其余部分到達之前讀取它們。我想要完成的是創建一種“智能客戶端”,它使用服務器標頭中的信息來確定在請求正文中上傳的內容。因此,我需要啟動請求,讀取響應標頭,然后開始寫入請求正文。由于我的系統的性質,我無法將其拆分為不同的請求。我相信在協議級別是可能的,但我不確定go的http庫是否支持它。
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

http 客戶端 Do 函數在返回整個響應正文之前不會阻塞。如果您不想閱讀完整的響應,為什么不在檢查標題后使用 res.Body.Close() 呢?我認為如果你想要大致相同的行為,它應該有效。據醫生說。

當讀取 Body 字段時,響應正文將按需流式傳輸。如果網絡連接失敗或服務器終止響應,Body.Read 調用將返回錯誤。

盡管默認 http.Client 的 DefaultTransport(即 http.Transport)并不保證在您指定之前它不會讀取任何字節。


查看完整回答
反對 回復 2023-08-07
?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

OPTIONS您可以通過在發送實際請求之前向 url發送請求并讀取響應標頭來滿足您的要求。

響應標頭將包含執行首選請求所需的所有標頭。

req, _ := http.NewRequest("OPTIONS", "example.com", nil)

resp, _ := client.Do(req)


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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