HttpClient хранит несколько файлов cookie - PullRequest
0 голосов
/ 31 августа 2018

не могу понять, как это сделать, и я не встречал ни одной статьи или темы, которые бы помогли. В основном я пытаюсь войти на сайт WordPress, и проблема в том, что после POST он отправляет тестовый файл cookie, а затем файл Auth cookie в 2 разных файлах set-cookie, и в нем хранятся исходный файл cookie клиента и тестовый файл cookie, но я не могу ' не могу понять, как получить этот второй набор файлов cookie для сохранения файла cookie для аутентификации.

var baseAddress = new Uri("https://www.gplvault.com/wp-admin");
var cookieContainer = new CookieContainer();
using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer, AllowAutoRedirect = false})
using (var client = new HttpClient(handler, false) { BaseAddress = baseAddress })
{
client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36");
client.DefaultRequestHeaders.Add("Referer", "https://www.gplvault.com/my-account/");
client.DefaultRequestHeaders.Add("Connection", "keep-alive");
client.DefaultRequestHeaders.Add("Accept-Language", "en-US,en;q=0.5");
client.DefaultRequestHeaders.Add("Accept", "application/json, text/javascript, */*; q=0.01");

var homePageResult = client.GetAsync("/");
Console.WriteLine("1: " + cookieContainer.GetCookieHeader(baseAddress));
homePageResult.Result.EnsureSuccessStatusCode();
var content = new FormUrlEncodedContent(new[]{
    new KeyValuePair<string, string>("username", username),
    new KeyValuePair<string, string>("password", password),
});
var loginResult = client.PostAsync("/my-account/orders/", content).Result;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...