Estoy tratando de usar la API web HttpClientpara 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á #ifdeffuera de la versión de lanzamiento).
¿Cómo agrego una cookie a la HttpRequestMessage?
c#
rest
asp.net-mvc-4
asp.net-web-api
George Mauer
fuente
fuente

La respuesta aceptada es la forma correcta de hacer esto en la mayoría de los casos. Sin embargo, hay algunas situaciones en las que desea configurar el encabezado de la cookie manualmente. Normalmente, si configura un encabezado "Cookie", se ignora, pero eso se debe
HttpClientHandleral uso predeterminado de suCookieContainerpropiedad para cookies. Si deshabilita que a continuación mediante el establecimientoUseCookiesdefalseque se pueden establecer cabeceras de cookies de forma manual y aparecerán en la solicitud, por ejemplo,fuente
Después de pasar horas en este tema, ninguna de las respuestas anteriores me ayudó, así que encontré una herramienta realmente útil.
En primer lugar, utilicé el Fiddler 4 de Telerik para estudiar en detalle mis solicitudes web
En segundo lugar, me encontré con este complemento útil para Fiddler:
https://github.com/sunilpottumuttu/FiddlerGenerateHttpClientCode
Simplemente generará el código C # para usted. Un ejemplo fue:
Tenga en cuenta que tuve que comentar dos líneas, ya que este complemento aún no es totalmente perfecto, pero de todos modos hizo el trabajo.
DESCARGO DE RESPONSABILIDAD: no estoy asociado ni respaldado por Telerik ni por el autor del complemento de ninguna manera.
fuente
Para mí, la solución simple funciona para establecer cookies en el objeto HttpRequestMessage .
fuente