.NET,Windows主机文件,dns通过代码覆盖

Dav*_*eid 5 .net lookup dns url hosts

我正在开发一个项目,我们希望在我们的应用程序中动态更改请求发送到的IP地址.例如,我们发送到myWebsite.com的第一个请求转到192.168.123.1,第二个请求转到192.168.123.5,第三个转到192.168.123.10.

我知道可以通过位于c:\ windows\system32\drivers\etc的Windows主机文件来实现此类功能,但这需要关闭应用程序,更改文件,然后再次打开应用程序.

是否有任何.Net库/技术可以让我们从代码中动态覆盖DNS?

谢谢大卫


我设法解决了这个问题.使用VB.NET:

    Dim c As New WebClient
    c.Headers.Add("Host", "myWebsite.com")
    c.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2")
    c.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
    c.Headers.Add("Accept-Language", "en-gb,en;q=0.5")
    c.Headers.Add("Accept-Encoding", "0")
    c.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7")

    Dim s
    s = c.DownloadString("http://192.168.123.10/index.aspx")
Run Code Online (Sandbox Code Playgroud)

设置Host标头告诉IIS请求所针对的应用程序.这允许我们在WebClient对象的URI字符串中具有IP地址.

谢谢大卫

Dav*_*eid 2

我设法解决了这个问题。(根据我上面的评论)。