首页 > 后端开发 > Golang > 为什么我的Go POST请求没有向接收端发送数据?

为什么我的Go POST请求没有向接收端发送数据?

Barbara Streisand
发布: 2024-12-22 16:38:11
原创
723 人浏览过

Why Doesn't My Go POST Request Send Data to the Receiving End?

使用 Go 发送 POST 请求

在 Go 中发出 POST 请求可能是一项常见任务。本文将为尝试在 Go 中发送 POST 请求时遇到的常见问题提供解决方案。

问题:

“我正在尝试发送 POST请求,但我似乎无法让它工作。我知道 PostForm 函数,但我相信它不能用 httputil 进行测试,正确吗?”

解决方案:

问题陈述中提供的代码大部分是正确的。缺少的组件是将表单数据分配给请求正文。下面是更正后的代码:

req, err := http.NewRequest("POST", url, strings.NewReader(form.Encode()))
登录后复制

在原始代码中,表单数据被分配给 req.PostForm,用于提交表单数据作为标题的一部分。对于 POST 请求,表单数据应在请求正文中发送。使用 strings.NewReader(form.Encode()) 创建一个 io.Reader,其中包含编码为 URL 编码字符串的表单数据,这是使用 application/x-www-form-urlencoded 内容类型的 POST 请求的预期格式.

以上是为什么我的Go POST请求没有向接收端发送数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板