2010-06-20 4 views
6

Ich kann mich nicht erkundigen (Login) Problem: 1) Ich poste einige Daten 2) Server reagiert und generieren Antwort mit einigen Cookies in den Headern (Set- Cookie) 3) ich möchte speichern, dass Cookies, damit ich sie später verwenden können, um mehr Anfragen zu generierenC# Erhalten Sie Cookies von Server-Antwort auf Daten zur Verfügung gestellt POST

Mein C# Code sieht wie folgt aus:

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

Sache ist, dass WebResp hat das „Set-Cookie "Kopfzeile mit Werten. Bevor ich Header laufen lasse und analysiere, frage ich mich, warum das Cookie-Objekt nicht verbreitet wird (0 Cookies) und mit Werten aus dem Header gefüllt wird.

Wer hat eine Idee?

Antwort

8

Weil Sie eine cookie container verwenden müssen.

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

ZOMG, youre Recht ... Ich habe zu WebReq.CookieContainer und erhielt Cookie bei WebResp ... dumm von mir ... Dank! – CookiezMonstar

Verwandte Themen