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

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

錯誤:用于讀取 Post 請求的 XML 正文的 EOF

錯誤:用于讀取 Post 請求的 XML 正文的 EOF

Go
喵喔喔 2021-08-23 15:51:48
error: EOF當我閱讀 XML 響應正文時,我正在進入控制臺。下面是我的代碼。resp, err := http.Post(url, "application/xml", payload)if err != nil {    response.WriteErrorString(http.StatusInternalServerError, err.Error())    return}defer resp.Body.Close()dec := xml.NewDecoder(resp.Body)if debug == true {    body, err := ioutil.ReadAll(resp.Body)    fmt.Println("=========== Response ==================")    if err != nil {        fmt.Printf("error: %v", err)        return    }    fmt.Println(string(body))    fmt.Println("=========== Response Ends =============")}err = dec.Decode(respStruct)我懷疑ioutil.ReadAll沒有按預期工作。是否有原因引發此錯誤?
查看完整描述

1 回答

?
慕虎7371278

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

xml.NewDecoder(resp.Body)可能已經閱讀了 resp.Body 的內容。
因此EOF消息。

你可以在“ xml.NewDecoder(resp.Body).DecodeGiving EOFError ”中看到同樣的錯誤

讀取第resp.Body一個,并使用字符串 withxml.Unmarshal將避免雙重讀取和錯誤消息。

注意:類似的答案表明最佳實踐仍然是使用xml.Decoder而不是xml.Unmarshal從流中讀取。
因此,請確保您不要閱讀resp.Body兩次,它會起作用。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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