使用不同的 IP 进行网络服务调用

using a different IP for webservice calls

场景 - 站点上的多台计算机(数据库、应用程序、报告等)所有系统现在都在使用客户分配的 IP 地址运行。

新的变化是——生成对外部数据提供商(状态 运行 网站)的 Web 服务调用的系统需要从不同的 IP 地址发起流量。新的 IP 地址是唯一允许通过防火墙的地址,内部数据流量将留在系统的飞地内,相互通信。同一台机器(应用程序服务器)是用户使用网络服务器的接口,分配有两个(或更多)IP 地址。

问题来了-在代码中,有没有办法让web服务发起者调用使用不同的IP地址与外界通信?

通过httpclient可能很难实现,但是HttpWebRequest如果你使用asp.net可以帮助你。

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://whosebug.com");

        System.Net.WebProxy proxy = new WebProxy("the IP", 80);
        request.Proxy = proxy;
        using (WebResponse response = request.GetResponse())
        {
            using (TextReader reader = new StreamReader(response.GetResponseStream()))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                    Console.WriteLine(line);
            }
        }