RT,我试了好几次不行
请各位帮忙~我已经到网上搜了,没找到解决方案,请不要Copy/Paste....如果我没有在网上查资料试,我是不会来这里问大家的。盼望给一个可行的方法。

解决方案 »

  1.   

    就是说,不用浏览器登陆,用HttpWebRequest获得登陆后页面的Html代码
      

  2.   

    别想了,没戏,要不要session干嘛
      

  3.   

    这个看你要获取的页面什么地址,如果登录POST动作后,校内有N个转向的话(一般大网站都爱转向),恐怕比较麻烦。
    如果你要获取的页面正好是登录POST之后的页面的话,连COOKIE都不用保存,直接POST用户名密码到页面,然后获取反馈内容流即可获得HTML
      

  4.   


    HttpWebResponse response = (HttpWebResponse)WebRequest.Create("http://www.XN.com/index.php?ID=1234").GetResponse();
                StreamReader streamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                html_textBox.Text = objReader.ReadLine();
      

  5.   

    我的代码:
                    CookieContainer CookieArray = new CookieContainer();
                    //创建Http请求
                    HttpWebRequest LoginHttpWebRequest = (HttpWebRequest)WebRequest.Create(LoginUrl);
                    LoginHttpWebRequest.UseDefaultCredentials = true;
                    //LoginHttpWebRequest.Proxy = this.getProxy();
                    //登录数据
                    string LoginData = "email=" + UserName + "&password=" + UserPwd;
                    //数据被传输类型
                    LoginHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
                    //数据长度
                    LoginHttpWebRequest.ContentLength = LoginData.Length;
                    //数据传输方法 get或post
                    LoginHttpWebRequest.Method = "POST";
                    //设置HttpWebRequest的CookieContainer为刚才建立的那个CookieArray  
                    LoginHttpWebRequest.CookieContainer = CookieArray;
                    //获取登录数据流
                    Stream myRequestStream = LoginHttpWebRequest.GetRequestStream();
                    //StreamWriter
                    StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.Default);
                    //把数据写入HttpWebRequest的Request流  
                    myStreamWriter.Write(LoginData);
                    //关闭打开对象     
                    myStreamWriter.Close();
                    myRequestStream.Close();
                    //新建一个HttpWebResponse     
                    HttpWebResponse myHttpWebResponse = (HttpWebResponse)LoginHttpWebRequest.GetResponse();
                    //获取一个包含url的Cookie集合的CookieCollection     
                    myHttpWebResponse.Cookies = CookieArray.GetCookies(LoginHttpWebRequest.RequestUri);
                    WebHeaderCollection a = myHttpWebResponse.Headers;
                    Stream myResponseStream = myHttpWebResponse.GetResponseStream();
                    StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
                    Txt = myStreamReader.ReadToEnd();
                    //把数据从HttpWebResponse的Response流中读出     
                    myStreamReader.Close();
                    myResponseStream.Close();