Go语言 在http请求中设置UserAgent

pgx2nnw8  于 2023-03-16  发布在  Go
关注(0)|答案(1)|浏览(297)

我试图让我的Go语言应用把自己指定为一个特定的UserAgent,但是找不到任何关于如何使用net/http来完成这个任务的信息。我正在创建一个http.Client,并使用它通过client.Get()来发出Get请求。
是否有办法在客户端中设置UserAgent,或者根本没有办法?

qnakjoqk

qnakjoqk1#

创建请求时,请使用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"
}

p. s. http://httpbin.org对于测试这种东西来说太神奇了!

相关问题