Я пытаюсь написать небольшой инструмент для очистки экрана для агрегирования статистики в 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).
Кто-нибудь еще сталкивался с этой проблемой ичто вы использовали для ее разрешения?
Спасибо.