locked
Получение cookie из ответа (HttpClient) RRS feed

  • Вопрос

  • Посылается Post запрос, в ответе которого помимо html страницы приходит ещё несколько печенек.Использую HttpClient, проинициализированный с помощью HttpClientHandler и содержащий в себе CookieContainer.

    После успешного выполнения запроса в контейнере новых печенек не прибавляется.

    фрагменты кода:

    private HttpClientHandler handler;
    CookieContainer cookies = new CookieContainer();
    
    cookies.Add(this.url, new Cookie("ngx_mb", "1"));
                handler = new HttpClientHandler {AllowAutoRedirect = true, UseCookies = true, CookieContainer = cookies, UseDefaultCredentials = false};
    
    if (handler.SupportsAutomaticDecompression)
                    handler.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
    
    var client = new HttpClient(handler);
                    client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/x-www-form-urlencoded");
                    var encoded = new FormUrlEncodedContent(body);
                    var response = await client.PostAsync(url, encoded);
                    response.EnsureSuccessStatusCode();
    
    

    после чего в дебаггере смотрю:

    cookies.GetCookies(url)

    и там только одна печенька (ngx_mb, которую мы руками записали в начале)

    14 января 2014 г. 10:38

Ответы

  • ранее написанный мной код оказался рабочим на реальном устройстве. Не работает в эмуляторе. Странно, но смириться можно. Просто не сразу догадались протестировать на устройстве.
    • Помечено в качестве ответа SUDALV92 15 января 2014 г. 15:26
    15 января 2014 г. 15:25

Все ответы