CHEF de HTTP de la requête avec la HttpClient dans .NET 4.5 et C#
Est-il possible de créer un CHEF de HTTP de la requête avec la nouvelle HttpClient
dans .NET 4.5? Les seules méthodes que je peux trouver sont GetAsync
, DeleteAsync
, PutAsync
et PostAsync
. Je sais que le HttpWebRequest
-classe est en mesure de le faire, mais je veux utiliser le moderne HttpClient
.
- double possible de l'Ajout d'en-Têtes Http pour HttpClient (ASP.NET l'API Web)
- Ce n'est pas un doublon. Je veux lire uniquement les en-têtes de réponse de la demande que j'ai fait, et cela est possible à l'aide d'un CHEF de HTTP demande. Il n'a absolument rien à voir avec le fil que vous avez mentionnés.
Vous devez vous connecter pour publier un commentaire.
Utiliser le
SendAsync
méthode avec un exemple deHttpRequestMessage
qui a été construit à l'aide deHttpMethod.Head
.GetAsync
,PostAsync
, etc sont pratique wrappers autour deSendAsync
; les moins courantes HTTP méthodes telles queHEAD
,OPTIONS
, etc, ne pas obtenir un wrapper.J'avais besoin de le faire, pour obtenir
TotalCount
de distributeurs automatiques de billets que je revenais de mon Web API GET Méthode.Quand j'ai essayé @Smig de la réponse que j'ai obtenu la Réponse suivante à partir de mon site Web API.
Avait construit sur @Smig, en réponse à le faire fonctionner avec succès. J'ai trouvé que le Web méthodes de l'API doit autoriser explicitement l'
Http HEAD
verbe en le précisant dans la Action méthode comme un Attribut.Voici le code complet avec inline explication par les commentaires du code. J'ai enlevé le sensible code.
Dans mon Client Web:
Dans l'API du Web.
FindAndParsePagingInfo méthode d'assistance pour l'analyse de la pagination de l'en-tête de données.
}
HeaderParser.FindAndParsePagingInfo
source.paginationHeader
variable dans la méthodeIHttpActionResult Get
?Vous pouvez aussi le faire comme suit pour extraire uniquement les en-têtes:
HEAD
demandes (par exemple, Amazon AWS).