http - 如何发送带有 URL 参数和 JSON 正文的 POST?
问题描述
我找到了如何发送POST
带有 URL 参数的 a,或者如何发送POST
带有 JSON 正文的 a,但我不知道如何将它们组合在一起(带有参数的 URL 和 JSON 正文的请求)。
下面的代码(不正确)显示了我正在寻找的组合。我可以使用其中一个bytes.NewBuffer(jsonStr)
,strings.NewReader(parm.Encode())
但不能同时使用两者。
package main
import (
"bytes"
"net/http"
"net/url"
"strings"
)
func main() {
var jsonStr = []byte(`{"title":"my request"}`)
parm := url.Values{}
parm.Add("token", "hello")
req, err := http.NewRequest("POST", "https://postman-echo.com/post", bytes.NewBuffer(jsonStr), strings.NewReader(parm.Encode()))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
}
如何构建POST
包含所有组件的完整调用?
解决方案
推荐阅读
- react-native - 如何以与拖动 ScrollView 相同的缓动方式拖动 PanResponder?
- reactjs - 为什么我只从本地主机获得公共 API 的 CORS 错误
- php - 如何在 laravel 中通过急切加载从 3 个表中获取数据
- angular - Angular:在没有@Injectable 装饰器的情况下注入类
- powershell - 运行任何 powershell 脚本时出现 Set-ExecutionPolicy 错误
- python - 如何在矩阵乘法 Ax=b 中找到 A,其中 A 的一些值已知,A 是随机的
- python - 如何使用变量从表中选择
- c++ - 带有 cuda GpuMat::create() 调用的 Opencv 导致访问冲突
- python - 将来自多个 subreddits 的 PRAW 结果附加到一个数据帧
- java - 终端操作中基于谓词的短路Java Stream管道