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/