C# CookieContainer не хранит куки от запроса до ответа?

Я отправляю запрос, но файлы cookie не сохраняются в моем контейнере для ответа?

Пример кода -

        string uri = "https://www.localhost.com/"
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        request.ContentType = "application/x-www-form-urlencoded";
        CookieContainer cookies = new CookieContainer();
        request.CookieContainer = cookies;
        System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;


        using (Stream stream = request.GetRequestStream())
        {
            byte[] bytes = new UTF8Encoding().GetBytes(s);
            stream.Write(bytes, 0, bytes.Length);
        }


        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            using (Stream stream2 = response.GetResponseStream())
                {
                    using (StreamReader reader = new StreamReader(stream2, Encoding.UTF8))
                    {
                        str6 = reader.ReadToEnd();
                    }
                }
        }

как вы можете видеть, я реализовал

  CookieContainer cookies = new CookieContainer();
  request.CookieContainer = cookies;

Что должно хранить куки из запроса в контейнере для дальнейшего использования прямо в праве ответа? Например, если в ответе требуются файлы cookie для загрузки страницы.

1 ответ

Я предлагаю использовать HttpClient, поскольку он обрабатывает файлы cookie для вас и с ним, как правило, легче работать. Также обратите внимание, что даже если он одноразовый, вы, как правило, должны использовать один и тот же HttpClient во всем приложении. Смотрите: https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/

Другие вопросы по тегам