httpリクエストでUserAgentを設定する 質問する

httpリクエストでUserAgentを設定する 質問する

Go アプリケーションを特定の として指定しようとしていますUserAgentが、 でこれを行う方法について何も見つけることができませんnet/http。 を作成しhttp.Client、それを使用してGet経由でリクエストを行っていますclient.Get()

UserAgentクライアントで設定する方法はありますか?

ベストアンサー1

リクエストを作成するときは以下を使用しますrequest.Header.Set("key", "value"):

package main

import (
        "io"
        "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 := io.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こういうことをテストするには素晴らしいですね!

おすすめ記事