2010-06-20 7 views
6

Non riesco a risolvere il problema (login): 1) Inserisco alcuni dati 2) Il server reagisce e genera una risposta con alcuni cookie nelle intestazioni (Set- cookie) 3) voglio memorizzare che i cookie così posso poi usarli per generare più richiesteC# Ottieni i cookie dalla risposta del server fornita sui dati POST

mio codice C# è simile al seguente:

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

Cosa è che WebResp ha il "Set-cookie "intestazione con valori. Prima di eseguire e analizzare le intestazioni mi chiedo perché l'oggetto Cookies non viene propagato (0 cookie) e riempito di valori dall'intestazione.

Qualcuno ha un'idea?

risposta

8

Perché è necessario utilizzare un cookie container.

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

ZOMG, hai ragione ... Ho aggiunto al WebReq.CookieContainer e ha ricevuto CookieCollection a WebResp ... stupido da parte mia ... Grazie! – CookiezMonstar

Problemi correlati