1

我有問題從HTTP響應獲取Cookie。林肯定,該響應應該有餅乾,但我不能看到他們在我的應用程序。從HTTP響應獲取Cookie

這裏是我的代碼:

private static CookieContainer cookies = new CookieContainer(); 
    private static CookieContainer Cookies 
    { 
     get 
     { 
      return cookies; 
     } 
    } 

    public static async Task<HttpStatusCode> SendPostRequest(string url, string postData) 
    { 
     if (url == null) 
      throw new ArgumentNullException("url"); 

     if (postData == null) 
      throw new ArgumentNullException("postData"); 

     HttpStatusCode statusCodeToReturn = HttpStatusCode.Forbidden; 
     HttpWebRequest webRequest = HttpWebRequest.CreateHttp(url); 
     webRequest.Method = "POST"; 
     var cookies = Cookies; 
     webRequest.CookieContainer = cookies; 
     //webRequest.SupportsCookieContainer = true; 
     using (var requestStream = await webRequest.GetRequestStreamAsync()) 
     { 
      var bytes = Encoding.UTF8.GetBytes(postData); 
      requestStream.Write(bytes, 0, bytes.Length); 
     } 

     using (WebResponse response = await webRequest.GetResponseAsync()) 
     { 
      statusCodeToReturn = WebResponseToHTTPStatusCode(response); 
     } 

     return statusCodeToReturn; 
    } 

餅乾(使用Wireshark的):

rack.session=BAh7BkkiD3Nlc3Npb25faWQGOgZFRiJFMzg1ZjYxNzIzNzQ4MmY5NmI3NTMw%0AYWMwZmRjNmVmZjMwMDk4OTgzZGUwNjRlNzIzODlmODNjYzE2YmVmMjNlOQ%3D%3D%0A--30d79cd2276c3236de11104852bba4b84bf80f26; path=/; HttpOnly 
+0

可能重複[WP7 Cookies](http://stackoverflow.com/questions/9622296/cannot-get-cookies-in-wp7-using-httpwebrequest) – ry8806

+0

我明白了。問題出在Cookies中。未設置DOMAIN的Cookie在WP7中不受支持。 – Michal

回答

1

的問題是在返回的cookie,你可以使用這個變量。未設置DOMAIN的Cookie在WP7中不受支持。

+0

那麼有沒有機會得到它們呢?例如使用WebBrowser。 –

0

我想你可以創建一個全局變量的cookie.Such保存在你的App.xaml .cs文件,你可以創建這樣一個變量:

public CookieContainer GlobalCookie{get;set;} 

,使GloalCookie等於你成功HttpWebR equest CookieContainer。

然後當你調用另一個API.Hope幫助你:)

+0

我有全局變量。在帖子中查看我的代碼。 (私人靜態CookieContainer餅乾)。 – Michal

+0

我不知道你什麼時候給全局靜態cookie變量值?我在你的上面的代碼段看不到它。 – Sedgwickz

+0

看到我的第一篇文章(問題)。前8行代碼。無論如何,我解決了它。 – Michal