首页 >后端开发 >Golang >我的Go POST请求代码是否正确发送表单数据?

我的Go POST请求代码是否正确发送表单数据?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-19 21:53:111009浏览

Is My Go POST Request Code Correctly Sending Form Data?

Go 中的 POST 请求:解决连接问题

在 Go 中发出 POST 请求时,确保正确配置和发送请求以避免连接问题非常重要。让我们解决该领域开发人员面临的常见挑战。

问题:
尝试发送 POST 请求时,目的地未收到任何响应。以下代码片段是发出此类请求的有效方法吗?

hc := http.Client{}
req, err := http.NewRequest("POST", APIURL, nil)

form := url.Values{}
form.Add("ln", c.ln)
form.Add("ip", c.ip)
form.Add("ua", c.ua)
req.PostForm = form
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")

glog.Info("form was %v", form)
resp, err := hc.Do(req)

答案:
您提供的代码片段在添加表单数据的方式上存在一个小问题到请求。表单数据应在请求正文中发送,而不是作为 URL 参数的一部分。下面是更正后的代码:

req, err := http.NewRequest("POST", url, strings.NewReader(form.Encode()))

在此更正后的代码中,strings.NewReader(form.Encode()) 调用将表单数据编码为字符串并将其分配给请求正文。这确保了表单数据正确发送并且可以被服务器处理。

以上是我的Go POST请求代码是否正确发送表单数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn