webrequest获取错误页面但浏览器获取正确的页面

时间:2011-05-14 12:51:19

标签: c# html download

我正在编写一个需要下载网页的应用程序。但是我使用这个代码方案来获取html:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);                
HttpWebResponse response = (HttpWebResponse)request.GetResponse();                

System.IO.Stream data = response.GetResponseStream();
System.IO.StreamReader reader = new System.IO.StreamReader(data, true);
string htmlCode = reader.ReadToEnd();

我对此网站的网址存在问题:http://www.jamejamonline.ir/

当我尝试以这种方式获取页面时,重定向到错误页面, 但是所有的webbrowsers都显示正确的html页面。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您展示的代码段中似​​乎缺少请求方法。在创建请求的行之后添加此行:

request.Method = WebRequestMethods.Http.Get

答案 1 :(得分:0)

指定像这样的用户代理

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);  
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1";                
HttpWebResponse response = (HttpWebResponse)request.GetResponse();                

System.IO.Stream data = response.GetResponseStream();
System.IO.StreamReader reader = new System.IO.StreamReader(data, true);
string htmlCode = reader.ReadToEnd();

我尝试了它并且有效!