求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#