2010-06-20 14 views
6

Nie mogę zrozumieć tego problemu (logowania): 1) Zamieszczam niektóre dane 2) Serwer reaguje i generuje odpowiedź z niektórymi plikami cookie w nagłówkach (Set- cookies) 3) Chcę do przechowywania plików cookie, aby można było później wykorzystać je generować więcej żądańC# Pobieranie plików cookie z odpowiedzi serwera na dane POST

Moje kod C# wygląda następująco:

byte[] buffer = Encoding.ASCII.GetBytes(data_to_post); 

HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(url); 
WebReq.Method = "POST"; 
WebReq.ContentType = "application/x-www-form-urlencoded"; 
WebReq.ContentLength = buffer.Length; 

Stream PostData = WebReq.GetRequestStream(); 
PostData.Write(buffer, 0, buffer.Length); 
PostData.Close(); 

HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse(); 
Stream Answer = WebResp.GetResponseStream(); 
StreamReader _Answer = new StreamReader(Answer); 
WebResp.Close(); // I want cookies here! But there is no cookies :(

Chodzi o to, że WebResp ma „Set-Cookie "nagłówek z wartościami. Zanim uruchomię i przeanalizuję nagłówki zastanawiam się, dlaczego obiekt Cookies nie jest propagowany (0 plików cookie) i wypełniony wartościami z nagłówka.

Ktoś ma pomysł?

Odpowiedz

8

Ponieważ trzeba użyć cookie container.

var cookieContainer = new CookieContainer(); 
WebReq.CookieContainer = cookieContainer; 
+0

Zomg, jesteś w porządku ... Dodałem do WebReq.CookieContainer i otrzymał CookieCollection na WebResp ... Silly mnie ... Dzięki! – CookiezMonstar

Powiązane problemy