2012-03-27 87 views
0

我最近一直在尋找如何使用C#從網站獲取數據。我嘗試使用WebBrowser對象進行導航和登錄,並且運行良好,但我一直得到同樣的問題:當我導航到想要的頁面時,我斷開連接。C#登錄後從網站下載HTML

我已經嘗試了幾件事情,如確保只有一個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

你的代碼在哪裏 – 2012-03-27 16:22:08

回答

2

您必須保存從您的登錄請求返回的cookie,並在所有後續請求中重複使用這些cookie - 身份驗證cookie會告知服務器您實際上已經登錄。例如。請參閱here關於如何做到這一點。