WebRequest NameResolutionFailure - PullRequest
       9

WebRequest NameResolutionFailure

2 голосов
/ 27 декабря 2011

Я пытаюсь написать небольшой инструмент для очистки экрана для агрегирования статистики в c #.Я пытался использовать этот код (опубликован здесь много раз, но еще раз для подробностей):

public static string GetPage(string url)
{
    HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
    request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
    WebResponse response = (HttpWebResponse) request.GetResponse();

    Stream stream = response.GetResponseStream();
    StreamReader reader = new StreamReader(stream);

    string result = reader.ReadToEnd();

    stream.Dispose();
    reader.Dispose();

    return result;
}

Однако некоторые (не все) веб-сайты, к которым я пытаюсь подключиться, используют Ajax или на стороне сервера, включают throw NameResolutionFailureисключений и не может прочитать данные.

Примером этого является: pgatour stats

Я считаю, что класс HttpWebRequest эмулирует браузер при запросе информации, поэтому вы получаетепост-сгенерированный HTML.В настоящее время единственный способ прочитать данные - это создать iMacro, который извлекает их из источника страницы после того, как он проходит через браузер.Как было сказано ранее, он работает в браузере, поэтому я не думаю, что ошибка связана с проблемой DNS, и веб-сайт генерирует ответ (установлен .haveresponse).

Кто-нибудь еще сталкивался с этой проблемой ичто вы использовали для ее разрешения?

Спасибо.

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