【发布时间】:2012-11-07 05:17:44
【问题描述】:
我正在尝试让我的 Go 应用程序将自己指定为特定的 UserAgent,但找不到任何关于如何使用 net/http 执行此操作的信息。我正在创建一个http.Client,并使用它通过client.Get() 发出Get 请求。
有没有办法在客户端中设置UserAgent,或者根本没有?
【问题讨论】:
标签: http-headers go
我正在尝试让我的 Go 应用程序将自己指定为特定的 UserAgent,但找不到任何关于如何使用 net/http 执行此操作的信息。我正在创建一个http.Client,并使用它通过client.Get() 发出Get 请求。
有没有办法在客户端中设置UserAgent,或者根本没有?
【问题讨论】:
标签: http-headers go
创建请求时使用request.Header.Set("key", "value"):
package main
import (
"io/ioutil"
"log"
"net/http"
)
func main() {
client := &http.Client{}
req, err := http.NewRequest("GET", "http://httpbin.org/user-agent", nil)
if err != nil {
log.Fatalln(err)
}
req.Header.Set("User-Agent", "Golang_Spider_Bot/3.0")
resp, err := client.Do(req)
if err != nil {
log.Fatalln(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalln(err)
}
log.Println(string(body))
}
结果:
2012/11/07 15:05:47 {
"user-agent": "Golang_Spider_Bot/3.0"
}
附: http://httpbin.org 测试这种东西真是太棒了!
【讨论】: