在Golang

时间:2017-06-15 15:22:16

标签: http go network-programming

我使用go的http包来发出http请求。 在Ubuntu Linux上有多个接口时,如何配置go的http客户端使用特定的接口或IP地址来执行请求?

默认的http客户端如何决定它使用哪个界面?

1 个答案:

答案 0 :(得分:2)

Go http.Client使用http.RoundTripper发出请求。反过来,这使用net.Dialer来建立出站网络连接。 net.Dialer有一个字段LocalAddr,它指定了进行连接的本地地址。您可以将自己的Client与自己的RoundTripper一起使用自己的net.Dialer,并指定要使用的LocalAddr。您可以在文档中链接的stdlib代码中查看每个实例,并复制用于创建默认实例的机制,以便在根据需要覆盖LocalAddr时保持默认行为。