Я работаю над проектом, в котором мы хотим динамически изменить IP-адрес, на который отправляются запросы в нашем приложении. Так, например, первый запрос, который мы отправляем на myWebsite.com, идет на 192.168.123.1, второй - на 192.168.123.5, третий - на 192.168.123.10.
Я знаю, что достичь этого типа функциональности можно с помощью файла хостов Windows, расположенного в каталоге c: \ windows \ system32 \ drivers \ etc, однако для этого потребуется закрыть приложение, изменить файл, а затем снова открыть приложение.
Существуют ли какие-либо библиотеки / методы .Net, которые позволили бы нам динамически переопределять DNS из нашего кода?
Спасибо
David
Мне удалось решить это. Использование 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")
Установка заголовка Host сообщает IIS, на какое приложение нацелен запрос. Это позволяет нам иметь IP-адрес в строке URI объекта WebClient.
Спасибо
Дэвид