第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

發(fā)送帶有請求正文的 POST 請求,就像字符串一樣

發(fā)送帶有請求正文的 POST 請求,就像字符串一樣

Go
慕絲7291255 2023-05-15 14:59:01
我在我的網(wǎng)絡(luò)服務(wù)器上設(shè)置了一個(gè)頁面,其中包含一個(gè)“電子郵件地址”框和一個(gè)提交按鈕。我有它,所以當(dāng)它被提交時(shí),它會(huì)發(fā)送一個(gè)發(fā)布請求來檢查它是否存在于我的數(shù)據(jù)庫中。我一直在使用 Go 來嘗試發(fā)送這個(gè) POST 請求。但是,我需要按以下方式發(fā)送請求正文:demo_mail=<email>我沒有在網(wǎng)上找到任何有用的東西,只有帖子詢問如何使用 JSON 而不是字符串發(fā)送數(shù)據(jù)。我目前有以下代碼運(yùn)行但無法發(fā)送帶有上述發(fā)布數(shù)據(jù)的 POST 請求。req, err := http.NewRequest("POST", "<MY PAGE>", ioutil.NopCloser(bytes.NewBufferString("demo_mail=" + email)))            req.Header.Set("Content-Type", "application/x-www-form-urlencoded")            req.Header.Set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8")            req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36")            resp, err := client.Do(req)            if err != nil {                 color.Red("Error.")            }            defer resp.Body.Close()            body, _ := ioutil.ReadAll(resp.Body)            if strings.Contains(string(body), "Success") {                fmt.Println("Email exists")            } else {                fmt.Println("Fail")            }任何幫助表示贊賞。
查看完整描述

1 回答

?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊

您期望的正文實(shí)際上已正確發(fā)送,但可能不是您想要的方式:


POST /foo HTTP/1.1

...

Transfer-Encoding: chunked

...

Content-Type: application/x-www-form-urlencoded

...


17

demo_mail=<foo@bar.com>

0

由于您已將字符串包裝成 a ,io.NopCloser因此它會(huì)假定長度事先未知。io.Reader因此,它將使用分塊傳輸編碼來發(fā)送從長度為前綴的每個(gè)塊返回的塊,一旦一切都完成,最后一個(gè)塊的長度為 0。


如果你不想有這種行為,你需要提供一個(gè)緩沖區(qū),其中長度是預(yù)先知道的。ioutil.NopCloser這可以通過簡單地刪除周圍來完成bytes.NewBufferString:


req, err := http.NewRequest("POST", "<MY PAGE>", bytes.NewBufferString("demo_mail=" + email))

有了這個(gè),請求將使用Content-length而不是分塊傳輸編碼,并且正文將只包含字符串:


POST /foo HTTP/1.1

...

Content-Length: 23

...

Content-Type: application/x-www-form-urlencoded

...


demo_mail=<foo@bar.com>


查看完整回答
反對 回復(fù) 2023-05-15
  • 1 回答
  • 0 關(guān)注
  • 138 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號