当前位置:编程学习 > C#/ASP.NET >>

求C#模拟登录后抓取页面数据代码。

求解决 http://paper.cnstock.com/html/2011-02/15/node_3.htm 这个网址登陆后抓取页面HTML
我的写法
                WebBrowser ber = new WebBrowser();
                ber.Navigate(new Uri(url));
                while (ber.ReadyState != WebBrowserReadyState.Complete)
                {
                    Application.DoEvents();
                }
                ber.Document.GetElementById("name").InnerText = "joyintech";//fill name
                ber.Document.GetElementById("password").InnerText = "09qscesz";//fill pwd
                HtmlElement formLogin = ber.Document.Forms["login"];
                formLogin.InvokeMember("submit");

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Headers[HttpRequestHeader.Cookie] = ber.Document.Cookie;
                request.Headers.Clear();
                request.ContentType = "application/x-www-form-urlencoded";
                request.KeepAlive = true;
                request.AllowAutoRedirect = true;
                HttpWebResponse htptResponse = (HttpWebResponse)request.GetResponse();
                StreamReader sr2 = new StreamReader(htptResponse.GetResponseStream(), Encoding.Default);
                string text2 = sr2.ReadToEnd();
问题是 取得的HTML还是登陆前的HTML
求高手指点。 --------------------编程问答-------------------- 参考
http://hi.baidu.com/gamevip/blog/item/9c2fb24550acfb25cffca390.html --------------------编程问答-------------------- http://topic.csdn.net/u/20100521/23/fff79fc6-1277-448c-bb6e-00e564d9aaf7.html --------------------编程问答-------------------- DDDDD --------------------编程问答-------------------- --------------------编程问答-------------------- http://www.cnblogs.com/skynet/archive/2010/05/18/1738301.html --------------------编程问答-------------------- 以上都没有解决啊 --------------------编程问答-------------------- 应该是cookie问题 
CookieContainer container = new CookieContainer();
 request.CookieContainer = container;

……
 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
 response.Cookies = container.GetCookies(request.RequestUri);
……
HttpWebRequest requestScore = (HttpWebRequest)WebRequest.Create("目标地址");
 requestScore.CookieContainer = container;
大致是这么写 --------------------编程问答-------------------- 已解决  
去掉 request.Headers.Clear();
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,