我正在编写一个需要下载网页的应用程序。但是我使用这个代码方案来获取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页面。
我该如何解决这个问题?
答案 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();
我尝试了它并且有效!