[c#] ¿Cómo configuro una cookie en HttpRequestMessage de HttpClient?


Answers

La respuesta aceptada es la forma correcta de hacerlo en la mayoría de los casos. Sin embargo, hay algunas situaciones en las que desea establecer manualmente el encabezado de la cookie. Normalmente, si configura un encabezado "Cookie", se ignora, pero eso se debe a que HttpClientHandler utiliza de manera predeterminada su propiedad CookieContainer para las cookies. Si lo desactiva y establece UseCookies en false , puede establecer los encabezados de las cookies de forma manual y aparecerán en la solicitud, por ejemplo

var baseAddress = new Uri("http://example.com");
using (var handler = new HttpClientHandler { UseCookies = false })
using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
{
    var message = new HttpRequestMessage(HttpMethod.Get, "/test");
    message.Headers.Add("Cookie", "cookie1=value1; cookie2=value2");
    var result = await client.SendAsync(message);
    result.EnsureSuccessStatusCode();
}
Question

Estoy tratando de utilizar el HttpClient la API web para hacer una publicación en un punto final que requiere iniciar sesión en forma de una cookie HTTP que identifica una cuenta (esto es solo algo que está #ifdef 'ed fuera de la versión de lanzamiento).

¿Cómo agrego una cookie al HttpRequestMessage ?






Related