C# WebRequestNameResolutionFailure

C# WebRequestNameResolutionFailure,c#,screen-scraping,webrequest,C#,Screen Scraping,Webrequest,我正试图用c#编写一个用于统计汇总的小屏幕抓取工具。我曾尝试使用此代码(在此处发布过多次,但再次详细说明): 但是,我尝试使用Ajax或服务器端连接的一些(并非所有)网站包含抛出NameResolutionFailure异常,无法读取数据 这方面的一个例子是: 我相信HttpWebRequest类在请求信息时会模拟浏览器,因此您可以获得生成后的HTML。目前,我读取数据的唯一方法是制作一个iMacro,在数据通过浏览器运行后从页面源获取数据。如前所述,它在浏览器中工作,因此我认为错误与DNS问题

我正试图用c#编写一个用于统计汇总的小屏幕抓取工具。我曾尝试使用此代码(在此处发布过多次,但再次详细说明):

但是,我尝试使用Ajax或服务器端连接的一些(并非所有)网站包含抛出NameResolutionFailure异常,无法读取数据

这方面的一个例子是:

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

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


谢谢。

好吧,你的代码和给定的url对我来说很有用,你有没有失败的url?你的意思是它返回一个可接受的字符串响应?您使用的是什么设置?我在VS2010和monodevelop中对其进行了测试,在尝试访问给定网站时都抛出了名称解析错误。是的,我使用了LinqPad,复制粘贴了您的代码(在修复外壳后),并针对链接运行它。你的网络浏览器使用代理吗?啊,就是这样!我真傻!我已经让它在vs2010中运行了,谢谢!有趣的是,它仍然在mono中抛出异常,不知道为什么。再次感谢你!好吧,你的代码和给定的url对我来说很有用,你有没有失败的url?你的意思是它返回一个可接受的字符串响应?您使用的是什么设置?我在VS2010和monodevelop中对其进行了测试,在尝试访问给定网站时都抛出了名称解析错误。是的,我使用了LinqPad,复制粘贴了您的代码(在修复外壳后),并针对链接运行它。你的网络浏览器使用代理吗?啊,就是这样!我真傻!我已经让它在vs2010中运行了,谢谢!有趣的是,它仍然在mono中抛出异常,不知道为什么。再次感谢你!
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;
}