2010-06-20 12 views
6

No puedo entender este problema (inicio de sesión): 1) Publiqué algunos datos 2) El servidor reacciona y genera respuestas con algunas cookies en los encabezados (Set- cookie) 3) Quiero guardar que las cookies por lo que más tarde pueden utilizarlos para generar más solicitudesC# Obtener cookies de la respuesta del servidor proporcionada en los datos POST

Mi C# código es el siguiente:

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 es que WebResp tiene el "Set-Cookie "encabezado con valores. Antes de ejecutar y analizar encabezados, me pregunto por qué el objeto Cookies no se propaga (0 cookies) y se completa con los valores del encabezado.

¿Alguien tiene idea?

Respuesta

8

Porque necesita usar un cookie container.

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

ZOMG, tienes razón ... he añadido a WebReq.CookieContainer y recibió CookieCollection en WebResp ... tonto de mí ... Gracias! – CookiezMonstar

Cuestiones relacionadas