如何在一个请求的时间内模拟主机文件

时间:2009-08-07 22:09:10

标签: c# http ssl

我需要使用以下Url同时访问多个Web服务实例。 Web服务托管在IIS中并启用了SSL。

https://services.mysite.com/data/data.asmx

通常,当我们手动执行此过程时,我们会逐个更新Windows主机文件(c:\ Windows \ System32 \ drivers \ etc \ hosts),如下所示:

192.1.1.100 services.mysite.com

我想自动化这个过程并使用一些多线程来完成它。所以我无法更改主机文件。当我们在C#中执行HTTP请求时,有没有办法模拟主机文件?

谢谢!

3 个答案:

答案 0 :(得分:0)

我认为通过将该特定请求的代理服务器设置为您要将请求发送到的实际Web服务器的IP地址,可以获得相同的效果。

答案 1 :(得分:0)

您可以更改请求在运行时遇到的URL,如下所示:

svc.Url = "http://firstServer.com";

因此,如果您创建一个循环遍历每个所需服务器的程序,只需直接更新URL属性(该示例来自基于WSE 3的Web服务)。

答案 2 :(得分:0)

如果您知道服务器SSL端点的IP地址(不一定与服务器的默认IP地址相同),那么您可以瞄准网络服务吗?显然SSL检查会失败,但你可以通过代码禁用它......

ServicePointManager.ServerCertificateValidationCallback += delegate
{
    return true; // you might want to check some of the certificate detials...
};