本篇文章向大家介绍《使用 multipart/fORM-data 时 golang 挂起》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。问题内容我想向电报发出一个空的帖子请求。 问题是如果
本篇文章向大家介绍《使用 multipart/fORM-data 时 golang 挂起》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。
问题内容我想向电报发出一个空的帖子请求。 问题是如果我关闭多部分一次,它就会永远挂起:
func main() {
var requestBody bytes.Buffer
multiPartWriter := multipart.NewWriter(&requestBody)
multiPartWriter.Close() // closing once
req, _ := Http.NewRequest("POST", "https://api.telegram.org/bot<telegram token>/getme", &requestBody)
req.Header.Set("Content-Type", multiPartWriter.FormDataContentType())
client := &http.Client{}
client.Do(req)
}
但是如果我关闭多部分两次它就会起作用。 谁能解释一下为什么会发生这种情况?
我刚刚检查了 telegram api。
我猜普遍的问题是,您使用了未初始化的缓冲区。 您不需要缓冲区,也不需要请求中的任何有效负载。您可以只传递 nil 作为请求数据。像这样:
func main() {
req, err := http.NewRequest("POST", "https://api.telegram.org/bot<token>/getme", nil)
if err != nil {
panic(err)
}
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
result, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
println(string(result))
}
我还建议您查看文档 here,该文档可让您以交互方式尝试 api,它还可以为每个请求生成代码。
为了生成 Go 代码示例,您可以单击右上角的按钮并选择您的 go。
今天关于《使用 multipart/form-data 时 golang 挂起》的内容介绍就到此结束,如果有什么疑问或者建议,可以在编程网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
--结束END--
本文标题: 使用 multipart/form-data 时 golang 挂起
本文链接: https://www.lsjlt.com/news/596857.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0