go http client post获取header
时间: 2023-10-09 10:17:34 浏览: 79
在 Go 语言中,我们可以使用 `http.Client` 来发送 HTTP 请求,并获取返回值的 Header。下面是一个示例代码:
```go
package main
import (
"fmt"
"net/http"
"net/url"
)
func main() {
// 创建一个 http.Client 对象
client := &http.Client{}
// 构造请求参数
values := url.Values{}
values.Set("key1", "value1")
values.Set("key2", "value2")
// 构造请求对象
req, err := http.NewRequest("POST", "http://example.com/api", nil)
if err != nil {
fmt.Println("Error:", err)
return
}
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.PostForm = values
// 发送请求
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
// 获取返回的 Header
header := resp.Header
fmt.Println("Header:", header)
}
```
在上面的例子中,我们首先创建了一个 `http.Client` 对象,然后使用 `http.NewRequest` 函数构造了一个请求对象。在请求对象中,我们设置了请求的方法、URL、请求参数及请求头。最后,我们使用 `client.Do(req)` 发送请求,并将返回值赋给了 `resp` 变量。通过 `resp.Header` 可以获取返回的 Header。
阅读全文