如何使用代理更改每个请购单上的IP地址?

时间:2016-11-07 16:08:34

标签: .net tcp httpclient haproxy

我有一个使用WebClient导航到某些外部网页的应用程序。

在这个应用程序的顶部,我有一个HAProxy,它使请求负载平衡到5个linux主机(每个主机都有一个有效的IP地址)。

它的工作。但问题是HAProxy仅在关闭应用程序时更改外部IP(客户端发送TCP重置,因此TCP隧道已关闭)。

目标是在每个http请求中,应用程序通过不同的ip发送它。我怎么能这样做?

示例代码:

 for (var i = 0; i < 2; i++)
 {
     using (var client = new WebClient())
     {
        //Even if i create a new WebClient and dispose, 
        //under the hood it uses the same socket, so myexternalsite01 and 02    
        //are hitted with the same ip until i close the application.
        client.DownloadString("http://myexternalsite01.com");
        client.DownloadString("http://myexternalsite02.com");
     }
  }

app.config

中的代理
 <system.net>
<defaultProxy>
  <proxy usesystemdefault="False" proxyaddress="http://proxy.local:3128" bypassonlocal="False" />
</defaultProxy>

0 个答案:

没有答案