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

如何设置用于 HTTP 请求的 IP?

如何设置用于 HTTP 请求的 IP?

Go
呼啦一阵风 2021-10-11 10:33:52
我不知道这是否可能,因为 std lib 没有说明有关当前使用的地址的任何信息:http://golang.org/pkg/net/http/resp, err := http.Get("http://example.com/")if err != nil {    // handle error}defer resp.Body.Close()body, err := ioutil.ReadAll(resp.Body)我想要做的是为那个 http 请求设置源地址,为什么?因为我不想将我的主要 IP 地址用于那种东西......
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

您可以在客户端的传输中设置自定义拨号程序。


// Create a transport like http.DefaultTransport, but with a specified localAddr

transport := &http.Transport{

    Proxy: http.ProxyFromEnvironment,

    DialContext: (&net.Dialer{

        Timeout:   30 * time.Second,

        KeepAlive: 30 * time.Second,

        LocalAddr: localAddr,

        DualStack: true,

    }).DialContext,

    MaxIdleConns:          100,

    IdleConnTimeout:       90 * time.Second,

    TLSHandshakeTimeout:   10 * time.Second,

    ExpectContinueTimeout: 1 * time.Second,

}


client := &http.Client{

    Transport: transport,

}


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

添加回答

举报

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