亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索

如何在Golang中使用net/http發(fā)送POST請(qǐng)求

P粉602998670
發(fā)布: 2025-10-16 16:19:02
原創(chuàng)
506人瀏覽過
使用http.Post發(fā)送JSON數(shù)據(jù)或http.PostForm提交表單,復(fù)雜請(qǐng)求則用http.NewRequest配合http.Client自定義頭、超時(shí)等;需正確設(shè)置Content-Type并關(guān)閉響應(yīng)體防止泄漏。

如何在golang中使用net/http發(fā)送post請(qǐng)求

在Golang中使用net/http發(fā)送POST請(qǐng)求非常常見,通常用于向服務(wù)器提交數(shù)據(jù)。你可以通過http.Post或更靈活的http.NewRequest配合http.Client.Do來實(shí)現(xiàn)。

使用 http.Post 發(fā)送簡單 POST 請(qǐng)求

如果你只需要發(fā)送簡單的表單數(shù)據(jù)或JSON,并且不需要自定義太多請(qǐng)求頭,可以直接使用http.Post函數(shù)。

示例:發(fā)送JSON數(shù)據(jù)

jsonData := []byte(`{"name":"Alice","age":25}`)
resp, err := http.Post("http://ipnx.cn/link/dc076eb055ef5f8a60a41b6195e9f329", "application/json", bytes.NewBuffer(jsonData))
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()
<p>body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))</p>
登錄后復(fù)制

這里第三個(gè)參數(shù)是io.Reader類型,所以可以用bytes.NewBuffer包裝字節(jié)數(shù)組。

立即學(xué)習(xí)go語言免費(fèi)學(xué)習(xí)筆記(深入)”;

使用 http.NewRequest 自定義請(qǐng)求

當(dāng)你需要設(shè)置請(qǐng)求頭、超時(shí)、Cookie或其他選項(xiàng)時(shí),建議使用http.NewRequesthttp.Client。

示例:帶自定義Header的POST請(qǐng)求

如知AI筆記
如知AI筆記

如知筆記——支持markdown的在線筆記,支持ai智能寫作、AI搜索,支持DeepseekR1滿血大模型

如知AI筆記27
查看詳情 如知AI筆記
jsonData := []byte(`{"title":"Hello","body":"World"}`)
req, err := http.NewRequest("POST", "https://jsonplaceholder.typicode.com/posts", bytes.NewBuffer(jsonData))
if err != nil {
    log.Fatal(err)
}
<p>req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer your-token-here")</p><p>client := &http.Client{Timeout: 10 * time.Second}
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()</p><p>body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))</p>
登錄后復(fù)制

這種方式可以自由控制請(qǐng)求的所有細(xì)節(jié),比如認(rèn)證、壓縮、User-Agent等。

發(fā)送表單數(shù)據(jù)(application/x-www-form-urlencoded)

對(duì)于提交表單,可以使用url.Values編碼數(shù)據(jù)。

data := url.Values{}
data.Set("username", "alice")
data.Set("password", "secret")
<p>resp, err := http.PostForm("<a href="http://ipnx.cn/link/dc076eb055ef5f8a60a41b6195e9f329">http://ipnx.cn/link/dc076eb055ef5f8a60a41b6195e9f329</a>", data)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()</p><p>body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))</p>
登錄后復(fù)制

http.Post0會(huì)自動(dòng)設(shè)置正確的Content-Type并編碼數(shù)據(jù)。

基本上就這些。根據(jù)你的需求選擇合適的方法:簡單場景用http.Posthttp.Post0,復(fù)雜場景用http.NewRequesthttp.Client。關(guān)鍵是要正確設(shè)置Content-Type,處理響應(yīng)體后關(guān)閉它,避免資源泄漏。

以上就是如何在Golang中使用net/http發(fā)送POST請(qǐng)求的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

相關(guān)標(biāo)簽:
最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件
最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件

每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。

下載
來源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn
最新問題
開源免費(fèi)商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)