在 Go 语言中,处理 HTTP 请求和响应的标头(Headers)是一个常见的任务。以下是如何操作的一些基本示例:
设置请求标头
req, err := http.NewRequest("GET", "https://example.com", nil)
if err != nil {
// 处理错误
}
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
发送请求
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
// 处理错误
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
// 处理错误
}
fmt.Println(string(body))
读取响应标头
contentType := resp.Header.Get("Content-Type")
server := resp.Header.Get("Server")
fmt.Println("Content-Type:", contentType)
fmt.Println("Server:", server)
常见 HTTP 标头
以下是一些常见的 HTTP 请求和响应标头:
- Accept: 客户端能够处理的 MIME 类型。
- Authorization: 认证信息。
- Content-Type: 请求或响应的 MIME 类型。
- Cookie: 发送请求时携带的 Cookie。
- Host: 请求的目标主机。
- User-Agent: 发出请求的客户端信息。
这些是处理 HTTP 请求和响应时经常使用的标头。你可以根据自己的需求添加或读取不同的标头。