日期:2014-05-18  浏览次数:20848 次

这个网站为什么通过程序获取不到源码?(通过程序)
http://www.dgxt.com/ProjectArticlesArray-70-1.aspx这个网址通过程序获取不到源码??? 代码如下:  

  //登录网站
  string login_url = "http://www.dgxt.com/ProjectArticlesArray-70-1.aspx";
  HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(login_url);
  HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
  Stream st = myResponse.GetResponseStream();
  StreamReader streamReader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
  string html = streamReader.ReadToEnd();
  streamReader.Close();
  st.Close();

报:远程服务器返回错误: (500) 内部服务器错误。是不是人家网站不允许通过程序去获取源码。

http://www.dgxt.com/ProjectArticlesArray-70-1.aspx浏览器中可以看到源码。但是那段代码执行到HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
  就会"报:远程服务器返回错误: (500) 内部服务器错误。是不是人家网站不允许通过程序去获取源码。"

------解决方案--------------------
可能server端做了什么特殊处理了,你可以模拟浏览器那样发包。找个抓包软件,看一下浏览器的request有什么header,你在webrequest里相应的都设上去,肯定有某一个header比较关键,没了之后就500了