Как получить файлы cookie с помощью System.Net.Http.HttpRequestMessage - PullRequest
0 голосов
/ 23 октября 2019

У меня есть эта функция:

   [HttpPost]
   [Route("api/authenticate")]
   public async Task<HttpResponseMessage> Authenticate(Auth a)
   {
       var cookies = Request.Headers.GetCookies() 
   }

После просмотра большого количества сообщений в StackOverflow я увидел людей, пытающихся это сделать:

CookieHeaderValue cookie = Request.Headers.GetCookies("session-id").FirstOrDefault();

Но я не вижуМетод FirstOrDefault. Когда я запускаю GetCookies, я получаю строковый массив с одним элементом и внутри него:

"{cookieKey=cookieValue; cookie2=cookie2}"

Должен ли я преобразовать эту строку в словарь, или мне что-то не хватает в API?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019
0 голосов
/ 23 октября 2019

Довольно взломать, но работает

using System.Linq;

var cookies = Request.Headers
    .GetCookies()[0].Cookies
    .ToDictionary(cookie => cookie.Key, cookie=> cookie.Value);

return cookies["cookie-index"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...