2011-11-20 256 views
1

我想從Asp.Net Webforms上運行的網頁上刮取數據。我看了一下this這個頁面。它看起來像我不想做的,但我不會讓它開箱即用,因爲登錄頁面需要一個cookie來呈現。 Cookie設置在設置Cookie的頁面上,然後將用戶重定向到登錄頁面。我應該如何修改鏈接上的代碼,以便它首先瀏覽重定向頁面,保存cookie,然後將cookie傳遞到登錄頁面?通過cookie登錄頁面

+0

這是一個非常古老的教程。你不再使用正則表達式來抓取網頁,你使用xpath。我不知道如何處理C#中的cookie,在perl ruby​​和python中使用機械化,並在PHP中使用curl。祝你好運! – pguardiario

+0

我能解決這個問題。 –

回答

0

偉大的工作=)

CookieContainer cookieJar = new CookieContainer(); 
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://mydomain.com/Start.aspx?g=4"); 
request.CookieContainer = cookieJar; 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

CookieContainer cookies = new CookieContainer(); 
HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create("http://mydomain.com/Login.aspx"); 
request1.CookieContainer = cookieJar; 
HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse(); 
StreamReader reader = new StreamReader(response1.GetResponseStream()); 
string loginPage = reader.ReadToEnd(); 
reader.Close();