如何设置用于HTTP请求的IP?
我不知道是否有可能,因为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请求" title="HTTP请求">HTTP请求设置源地址,为什么?因为我不想将我的主要IP地址用于此类工作…
回答:
您可以在客户端传输中设置自定义拨号程序。
// Create a transport like http.DefaultTransport, but with a specified localAddrtransport := &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,
}
以上是 如何设置用于HTTP请求的IP? 的全部内容, 来源链接: utcz.com/qa/424131.html