如何用程序登陆校内,获得网页的html代码 RT,我试了好几次不行请各位帮忙~我已经到网上搜了,没找到解决方案,请不要Copy/Paste....如果我没有在网上查资料试,我是不会来这里问大家的。盼望给一个可行的方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是说,不用浏览器登陆,用HttpWebRequest获得登陆后页面的Html代码 别想了,没戏,要不要session干嘛 这个看你要获取的页面什么地址,如果登录POST动作后,校内有N个转向的话(一般大网站都爱转向),恐怕比较麻烦。如果你要获取的页面正好是登录POST之后的页面的话,连COOKIE都不用保存,直接POST用户名密码到页面,然后获取反馈内容流即可获得HTML 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(); 我的代码: 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(); 请问C#怎么执行oracle数据库的SQL语句啊?? .net报表动态数据问题 关于arraylist和数据库读取 带参数的程序启动? 这种布局该用什么控件来做数据绑定? 小弟的Trim()函数? 请问谁见过这个异常S.Internal.FontCache.Util 请问大家,在页面显示数据的时候是lable.text="asd"效率好还是<%=Str%>效率好啊 datatable问题 抓取控件图形的问题(请教高手) JQUERY 输出XML 怎么写 请教GridView分页的问题
如果你要获取的页面正好是登录POST之后的页面的话,连COOKIE都不用保存,直接POST用户名密码到页面,然后获取反馈内容流即可获得HTML
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();
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();