Comment puis-je installer un cookie sur HttpClient de HttpRequestMessage
Je suis en train d'utiliser le site web de l'api de HttpClient
de faire un post à un point de terminaison qui nécessite un nom d'utilisateur sous la forme d'un cookie HTTP qui identifie un compte (c'est seulement quelque chose qui est #ifdef
'ed hors de la version).
Comment puis-je ajouter un cookie à la HttpRequestMessage
?
Vous devez vous connecter pour publier un commentaire.
Voici comment vous pouvez personnaliser la valeur du cookie pour la requête:
disposeHandler
définie sur false, vous pouvez créer et disposer toutefois de nombreux HttpClient instances que vous voulez, c'est en fait la HttpMessageHandler qui possède les ressources, et non HttpClient.La accepté de répondre est la manière correcte de le faire dans la plupart des cas. Cependant, il ya quelques situations où vous souhaitez définir l'en-tête de cookie manuellement. Normalement, si vous définissez un "Cookie" en-tête il est ignoré, mais c'est parce que
HttpClientHandler
par défaut à l'aide de sonCookieContainer
propriété pour les cookies. Si vous désactivez puis par la mise enUseCookies
àfalse
vous pouvez définir les en-têtes de cookie manuellement et ils apparaissent dans la demande, par exemple,Après avoir passé des heures sur ce problème, aucune des réponses ci-dessus m'a tant aidé, j'ai trouvé un vraiment utile.
Tout d'abord, j'ai utilisé Telerik de la Fiddler 4 à l'étude de mon site Web Demandes dans les détails
Deuxièmement, je suis tombé sur ce plugin utile pour Fiddler:
https://github.com/sunilpottumuttu/FiddlerGenerateHttpClientCode
Il va tout simplement de générer le code C# pour vous. Un exemple en est:
Que j'ai eu à commenter les deux lignes que ce plugin n'est pas totalement parfait encore, mais il fait le travail tout de même.
AVERTISSEMENT: je ne suis pas associé ou approuvé par Telerik ou le plugin de l'auteur, de toute façon.