I am working in a Windows Phone 8 PCL project. I am using a 3rd party REST API and I need to use a few HttpOnly cookies originated by the API. It seems like getting/accessing the HttpOnly cookies from HttpClientHandler s CookieContainer is not possible unless you use reflection or some other backdoor.
I need to get these cookies and send them in subsequent requests otherwise I am not going to be able to work with this API - how can I accomplish this? Here is what my current request code looks like:
Thanks in advance.
//Some request HttpRequestMessage request = new HttpRequestMessage(); HttpClientHandler handler = new HttpClientHandler(); //Cycle through the cookie store and add existing cookies for the susbsequent request foreach (KeyValuePair<string, Cookie> cookie in CookieManager.Instance.Cookies) { handler.CookieContainer.Add(request.RequestUri, new Cookie(cookie.Value.Name, cookie.Value.Value)); } //Send the request asynchronously HttpResponseMessage response = await httpClient.SendAsync(request); response.EnsureSuccessStatusCode(); //Parse all returned cookies and place in cookie store foreach (Cookie clientcookie in handler.CookieContainer.GetCookies(request.RequestUri)) { if (!CookieManager.Instance.Cookies.ContainsKey(clientcookie.Name)) CookieManager.Instance.Cookies.Add(clientcookie.Name, clientcookie); else CookieManager.Instance.Cookies[clientcookie.Name] = clientcookie; } HttpClient httpClient = new HttpClient(handler);