因为需要,我用httprequest/httpresponse和webclient等方法对www.sohu.com进行主页代码分析。但均不能完整获得该网页代码,请问这是为什么?在知道目标uri的网页编码的情况下,什么办法总是能获得与在IE右右击时在弹出菜单[查看源文件]一样的代码呢?

解决方案 »

  1.   

    确实.
    我刚刚测试了也只能获取:
    target=_blank>游戏</A> <A class=zc href="http://www.sogou.com/c003/c003015.html"
    target=_blank>手机</A> <A class=zc href="http://www.sogou.com/c003/c003017.html"
    target=_blank>下载</A> <A class=zc href="http://www.sogou.com/c003/c003011.html"
    target=_blank>软件</A> <A class=blue3 href="http://www.sogou.com/c009/c009.html"
    target=_blank>体育</A><SPAN class=blue3>|</SPAN><A class=zc href="http://www.sogou.com/c009/c009001004008.html"
    target=_blank>NBA</A> <A class=zc href="http://www.sogou.com/c009/c009003.html"
    target=_blank>棋</A>&nbsp; <A class=zc href="http://www.sogou.com/c018/c018003.html"
    target=_blank>军事</A> <A class=zc href="http://www.sogou.com/c018/c018003003.html"
    target=_blank>武器</A> <A class=zc href="http://www.sogou.com/c018/c018005005.html"
    target=_blank>台海</A> <BR> <A class=blue3 href="http://www.sogou.com/c002/c002.html"这样的结束的源码...
      

  2.   

    查看源文件

    <!-- end flyingbutton_2 -->
    </center>
    <!-- nielsen -->
    <!-- START NNR Site Census V5.2 -->
    <script language="JavaScript" src="http://js.sohu.com/pv.js">
    </script>
    <!-- END NNR Site Census V5.2 --><!-- end Nielsen -->
    </body>
    </html>
    <!-- SoHu_Homepage_End-->
    这样结束的..
      

  3.   

    楼主可以了..
    获得了一样的结果了..using System;
    using System.Net;
    using System.Text;
    using System.IO;
    using System.Windows.Forms;namespace NameParser
    {
    /// <summary>
    /// GetHttpSource 的摘要说明。
    /// </summary>
    public class GetHttpSource
    {
    public  GetHttpSource()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    } public static string GetHttpSourceValue(string a_strUrl)
    {

    string strResult;
    HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(new System.Uri(a_strUrl));
    myReq.Method = "GET";
    myReq.Accept = "*/*";
    myReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"; try
    {
    HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse(); string tmp = myReq.Headers.ToString(); Stream myStream = HttpWResp.GetResponseStream(); StreamReader sr = new StreamReader(myStream, Encoding.Default);
    StringBuilder strBuilder = new StringBuilder();
    while (-1 != sr.Peek())
    {
    strBuilder.Append(sr.ReadLine() + "\r\n");
    } strResult = strBuilder.ToString();
    // StreamWriter sw = new StreamWriter("E:\\1.txt", false, Encoding.Default);
    // sw.Write(strResult);
    myStream.Close();
    sr.Close();
    //                sw.Close();
    }
    catch (Exception exp)
    {
    strResult = "错误:" + exp.Message;
    }


    return strResult;
    // StreamWriter sw = new StreamWriter(SaveFileName(), false, Encoding.Default);
    // sw.Write(body);
    // sw.Close();
    }
    }
    }
      

  4.   

    问题解决了,不过请教下面这句是什么意思?看起来对ie版本,对系统平台有关?
    myReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
      

  5.   

    对浏览器..
    楼主看看这个:
    http://job.nju.edu.cn/WebStat/FMozilla.asp