我正在尝试在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已设置)。
是否有其他人遇到此问题,您使用了什么来解决它?
感谢。