2010-06-20 15 views
6

Kafamı bu (oturum açma) sorunuyla ilgili alamıyorum: 1) Bazı verileri yayınla 2) Sunucu, bazı tanımlama bilgileriyle birlikte tepkiler oluşturup yanıt verir (Set- Çerez) 3) kurabiye yüzden sonradan daha fazla istekC# Veri özetinde sağlanmış sunucu yanıtından tanımlama bilgileri alın POST

üretmek için bunları kullanabileceği saklamak istediğiniz

Benim C# kodu şuna benzer:

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 :(

Şey WebResp "Set-Cookie var yapmasıdır "değerleri ile başlık. Başlıkları çalıştırmadan ve ayrıştırmadan önce, Cookies nesnesinin neden çoğaltılmamış olduğunu (0 çerez) ve başlıktaki değerlerle dolu olduğunu merak ediyorum.

Herkes fikriniz var mı?

cevap

8

Bir cookie container kullanmanız gerektiğinden.

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

ZOMG, haklısın ... Ben ... Teşekkür WebReq.CookieContainer eklendi ve WebResp ... Aptal bana en CookieCollection aldı! – CookiezMonstar

İlgili konular