为了账号安全,请及时绑定邮箱和手机立即绑定

使用 http.Client 和 http.Transport 为请求设置标头

使用 http.Client 和 http.Transport 为请求设置标头

Go
富国沪深 2021-11-08 14:47:58
我有不止一个ip可以上网。我正在请求选择界面。在这种情况下,我应该如何设置标题?tcpAddr := &net.TCPAddr{    IP: addrs[3].(*net.IPNet).IP, // Choosing ip address number 3}d := net.Dialer{LocalAddr: tcpAddr}conn, err2 := d.Dial("tcp", "www.whatismyip.com:80")if err2 != nil {    log.Fatal(err2)}defer conn.Close()transport := &http.Transport{    Proxy:               http.ProxyFromEnvironment,    Dial:                (&net.Dialer{LocalAddr: tcpAddr}).Dial,    TLSHandshakeTimeout: 10 * time.Second,}client := &http.Client{    Transport: transport,}response, err := client.Get("https://www.whatismyip.com/")通常以这种方式设置标题:req.Header.Set("name", "value")但无法弄清楚如何将它们设置为我的代码。我想它们必须设置在http.Transportor 中的某个地方http.Client。但具体如何?
查看完整描述

1 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

创建请求:


 req, err := http.NewRequest("GET", "https://www.whatismyip.com/", nil)

 if err != nil {

  // handle error

 }

设置标题:


 req.Header.Set("name", "value")

使用client问题中的配置运行请求:


 resp, err := client.Do(req)

 if err != nil {

     // handle error

 }

如问题所示处理响应。



查看完整回答
反对 回复 2021-11-08
  • 1 回答
  • 0 关注
  • 372 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信