【发布时间】:2013-09-11 15:09:46
【问题描述】:
我正在尝试发送需要修改标头的 POST 请求。
这是我的代码:
import (
"net/http"
"net/url"
"fmt"
)
const API_URL = "https://api.site.com/api/"
func SendOne(str string) {
v := url.Values{}
v.Add("source", "12345678")
v.Add("text", str)
client := &http.Client{nil, nil, nil}
req, err := http.NewRequest("POST", API_URL, strings.NewReader(v.Encode()))
if err != nil {
fmt.Println(err)
}
req.Header.Add("Authorization", "123456")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
}
defer res.Body.Close()
}
我不知道为什么代码不起作用。有什么线索吗?
提前致谢。
编辑:我忘了说我使用的是 OAuth 2.0 进行授权。
【问题讨论】:
-
我在
req.Header.Add("Authorization", "123456")之前添加了reqest.Header.Set("Content-Type", "application/x-www-form-urlencoded; param=value")。它有效。但我不知道为什么。 -
如果我没记错的话,
Authorization是为 HTTP auth 保留的。您如何验证您的请求无效?任何到达服务器的示例数据以及它的外观? -
@nemo 我忘了提到我正在使用 OAuth 2.0 进行 HTTP 身份验证。我将数据发布到网站,但它返回代码 400。
标签: http http-headers go http-post