WebRequest NameResolutionFailure

时间:2011-12-27 11:06:37

标签: c# screen-scraping webrequest

我正在尝试在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或服务器端的一些(并非所有)网站包括抛出NameResolutionFailure异常并且无法读取数据。

这方面的一个例子是:pgatour stats

我被引导相信HttpWebRequest类在请求信息时模拟浏览器,因此您可以获得后期生成的HTML。目前,我可以读取数据的唯一方法是制作一个iMacro,它在浏览器运行后从页面源抓取它。如前所述,它在浏览器中工作,所以我不认为错误与DNS问题有关,并且网站确实生成了响应(.haveresponse已设置)。

是否有其他人遇到此问题,您使用了什么来解决它?

感谢。

0 个答案:

没有答案