Goアプリケーションにそれ自体を特定のものとして指定させようとしていますUserAgent
が、でこれを行う方法について何も見つかりませんnet/http
。を作成しhttp.Client
、それを使用してGet
リクエストを作成していますclient.Get()
。
クライアントでを設定する方法はありUserAgent
ますか、またはまったくありませんか?
Goアプリケーションにそれ自体を特定のものとして指定させようとしていますUserAgent
が、でこれを行う方法について何も見つかりませんnet/http
。を作成しhttp.Client
、それを使用してGet
リクエストを作成していますclient.Get()
。
クライアントでを設定する方法はありUserAgent
ますか、またはまったくありませんか?
リクエストを作成するときは、次を使用します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"
}
PS http://httpbin.orgは、この種のことをテストするのに素晴らしいです!