2012-08-02 77 views
0

我試試這個代碼從網站特殊的Cookie,WebRequest的方法登陸在C#

CookieCollection cookies = new CookieCollection(); 
CookieContainer cooki = new CookieContainer(); 
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(weburl.Text); 
request.CookieContainer = cooki; 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
StreamReader read = new StreamReader(response.GetResponseStream()); 
request.CookieContainer = cooki; 
request.CookieContainer.Add(cookies); 
cookies = response.Cookies; 

if(response.Cookies != null && response.Cookies.Count != 0) 
{ 
    foreach(Cookie c in response.Cookies) 
     listBox2.Items.Add(c.ToString()); 

} 
else 
     listBox2.Items.Add("No Cookies"); 

得到一個cookie但是當我嘗試這一個網站就像http://www.cloob.com沒有任何反應。

我嘗試這個網站由web瀏覽器在C#中,並試圖將此代碼

string cooki = webbrowser1.Document.Cookie.tostring(); 

,我得到了很多的信息是這樣的:

曲奇= LMOT = 1343810524;的IdM =無; __utma = 204761026.19745671.1343776441.1343805546.1343810526.4; __utmz = 204761026.1343776441.1.1.utmccn =(直接)| utmcsr =(直接)| utmcmd =(無); CR =%7B%22online_count%22:%5B%7B%22count%22:8059,%22status%22:%22available%22%7D,%7B%22count%22:%221204%22%22status%22:% 22invisible%22%7D,%7B%22count%22:%2276%22%22status%22:%22busy%22%7D%5D%7D; m_id = 1343781310_7982757; LCCT = 1343809271; __utmb = 204761026; __utmc = 204761026

現在我怎麼能通過webrequest得到這個?

回答

0

雖然您的代碼有點冗餘冗餘,但我沒有看到任何問題。它適用於我,當我測試它對http://www.google.com/http://www.cloob.com可能會在javascript中設置cookie,這將解釋爲什麼您可以在WebBrowser對象中看到cookie,但不能看到WebRequest

+0

是的,它適用於http://www.google.com/或http://www.facebook.com我只想登錄一個網站,需要先獲取cookie – Cena 2012-08-02 23:18:25