C#登录后从网站下载HTML

时间:2012-03-27 16:18:00

标签: c# logging web navigation browser

我最近一直在研究如何使用C#从网站获取数据。我尝试使用WebBrowser对象进行导航和登录,并且工作正常,但我一遍又一遍地遇到同样的问题:当我导航到想要的页面时,我断开连接。

我尝试了几件事,例如确保只存在一个HtmlDocument,但我仍然会退出。

TLDR:在使用WebBrowser浏览网站时,如何保持从一个页面到另一个页面的登录状态? 或者有更好的选择吗?

编辑:到目前为止,我有以下代码;

currentWebBrowser = new WebBrowser();
currentWebBrowser.DocumentText = @"<head></head><body></body>";
currentWebBrowser.Url = new Uri("about:blank");
currentWebBrowser.Navigate("http://google.com");

HttpWebRequest Req = (HttpWebRequest) WebRequest.Create("http://google.com");
Req.Proxy = null;
Req.UseDefaultCredentials = true;
HttpWebResponse Res = (HttpWebResponse)Req.GetResponse();

currentWebBrowser.Document.Cookie = Res.Cookies.ToString();

我应该在哪一刻获得饼干?我的代码是否正确?

1 个答案:

答案 0 :(得分:2)

您必须保留从登录请求返回的cookie,并在所有后续请求中重复使用这些cookie - 身份验证cookie告诉服务器您实际上已经登录。例如。请参阅here了解如何做到这一点。