对了,最近遇到一个问题: 
获取HTML源码,方法如下: 
方法一: string netUrl = "http://store.taobao.com/shop/view_shop.htm?asker=wangwang&shop_nick=琳子68"
WebClient client = new WebClient();
byte[] page = client.DownloadData(netUrl);
string content = System.Text.Encoding.GetEncoding("gb2312").GetString(page);方法二: string netUrl = "http://store.taobao.com/shop/view_shop.htm?asker=wangwang&shop_nick=琳子68";
HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create(netUrl);
WebResponse resp = myWebRequest.GetResponse();
StreamReader oStreamRd = new StreamReader(resp.GetResponseStream(), Encoding.GetEncoding("GB2312"));
string content =  oStreamRd.ReadToEnd();但是采用这两种方法所得到的html源代码和我通过浏览器:查看->源文件,得到的数据是不同的,方法得到的数据少了中间一段很长的数据,很奇怪. 
所以问问大伙遇到这种问题没有,请指教,在线等,谢谢~~~ 
大伙可以做个简单的form,然后拖个按钮,在按钮地方添加对应的处理事件,把上面测试代码放进去测试一下,就拿"http://store.taobao.com/shop/view_shop.htm?asker=wangwang&shop_nick=琳子68"作为测试用例,估计就知道我遇到的问题了,谢谢~~~

解决方案 »

  1.   

    如果数据不一样,检查一下,是不是其他页面有登陆、设置Cookies等操作,这些会影响返回的数据。
      

  2.   

    恩,感谢楼上的回答~~~
    其他页面有登陆:我已经把所以登陆页面都关闭了,应该不是这个原因~~~
    设置Cookies:我通过工具->Internet选项,已经把Cookies全部删除掉了~~~
    应该不是这个原因,有些用户测试成功,因为获取的数据是一致的,但是有些不行,具体原因还是一时想不明白~~~
    不过还是谢谢回答~~~
      

  3.   

    对的,我也发现了这个问题,并且研究这个类似的问题你可以增加COOKIE.CONTANER试下。
      

  4.   

    用IE浏览时 会执行里面包含的js脚本!
    如果 js脚本对 文档进行了修改,那么你 在IE 点 查看源代码 看到的可能就是修改以后的内容.用 HttpWebRequest 获得的 文档才是最原始的,你应相信 HttpWebRequest  。如果你需要和 IE获得的源码一致的话 应用 WebBrowser控件的 DocumentText属性. --------以上为猜想,没测试。
      

  5.   

    比如 你用IE看到的可能是 某个 Ajax脚本执行之后的结果.
      

  6.   

    用火狐登录,用FREEBUG 调试,看看有哪些代码是动态生成的。这可是好东西。