2011-07-06 66 views
-1
var req = (HttpWebRequest)HttpWebRequest.Create("http://mydomain.com/myservice"); 
var resp = (HttpWebResponse)req.GetResponse(); 
var cookies = resp.Cookies; 
Console.WriteLine("Cookie count: {0}", cookies.Count); 

輸出是:我的餅乾在哪裏?

Cookie count: 0 

我可以看到使用查爾斯呼叫到我的Web服務返回的cookie。他們爲什麼不出現在我的回覆cookie集合中?

+1

'resp.Cookies.Count'是否有效? –

回答

1

嘗試建立在你的請求對象CookieContainer以適應餅乾:

var req = (HttpWebRequest)HttpWebRequest.Create("http://mydomain.com/myservice"); 
req.CookieContainer = new CookieContainer(); 
var resp = (HttpWebResponse)req.GetResponse(); 
var cookies = resp.Cookies; 
Console.WriteLine("Cookie count: {0}", cookies.Count); 

documentation for the CookieContainer property的備註部分:

CookieContainer默認爲空。 您必須在CookieContainer 對象賦給屬性有餅乾 由 GetResponse方法返回的 的HttpWebResponseCookies屬性返回。

+0

+1謝謝 - 完美答案! –