NET: проверить код статуса ответа URL без использования IP-адреса - PullRequest
2 голосов
/ 01 февраля 2011

Я хочу проверить код состояния для веб-адреса без использования IP-адреса , так как у меня много сайтов, настроенных с одним и тем же IP, и для них отличается только имя хоста. HttpWebRequest разрешает IP-адрес и использует его.

Есть ли альтернатива?

Ответы [ 2 ]

2 голосов
/ 01 февраля 2011

В примере кода для класса HttpWebRequest, указанном в MSDN :

HttpWebRequest myReq =
    (HttpWebRequest)WebRequest.Create("http://www.contoso.com/");

Не требуется IP.

Редактировать: В качестве теста я добавил это в одноразовое приложение, которое у меня есть:

HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://domain1.mylocalhost.com/");

HttpWebRequest myReq2 = (HttpWebRequest)WebRequest.Create("http://domain2.mylocalhost.com/");

WebResponse myReqResponse = myReq.GetResponse();
WebResponse myReq2Response = myReq2.GetResponse();

long x = myReqResponse.ContentLength;
long y = myReq2Response.ContentLength;

MessageBox.Show((x == y).ToString());

У меня есть domain1, указывающий на действующий сайт, который работает.У меня есть domain2, указывающий на сайт, который выдает ошибку 500 для всех запросов.Оба находятся на одном IP.Приведенный выше код генерирует длину содержимого 17320 для myReqResponse, а myReq2Response выдает исключение, выдающее ошибку 500. IP-адрес не требуется, и разрешение за кадром не влияет на его поведение.

0 голосов
/ 02 февраля 2011

Ранее я настраивал веб-сайт с именами заголовков хостов.Как следует из названия, именно заголовок (от клиента) заставляет его перейти на правильный сайт на сервере.Если заголовок не указан, сервер не будет маршрутизировать на нужный сайт.

Вы пытались добавить заголовок узла в коллекцию заголовков запроса?

Dim req As System.Net.HttpWebRequest = DirectCast(System.Net.WebRequest.Create("http://www.whatever.com/"), System.Net.HttpWebRequest)
req.Headers.Add("Host", "www.whatever.com")

Можноиспользуйте http://web -sniffer.net / , чтобы определить, какие другие заголовки вам могут понадобиться для работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...