Tout:
J'ai besoin d'ajouter des en-têtes http au HttpClient avant d'envoyer une demande à un service Web. Comment faire cela pour une demande individuelle (par opposition à HttpClient pour toutes les demandes futures)? Je ne suis même pas sûr que cela soit possible.
var client = new HttpClient();
var task =
client.GetAsync("http://www.someURI.com")
.ContinueWith((taskwithmsg) =>
{
var response = taskwithmsg.Result;
var jsonTask = response.Content.ReadAsAsync<JsonObject>();
jsonTask.Wait();
var jsonObject = jsonTask.Result;
});
task.Wait();
c#
asp.net-web-api
dotnet-httpclient
Ryan James
la source
la source
HttpClient
jusqu'à ce que je voie que vous pouviez faire cela.var response = await client.SendAsync
au lieu deContinueWith
ettask.Wait()
Lorsqu'il peut s'agir du même en-tête pour toutes les demandes ou que vous supprimez le client après chaque demande, vous pouvez utiliser l'
DefaultRequestHeaders.Add
option:la source
Pour définir des en-têtes personnalisés SUR UNE DEMANDE, créez une requête avec l'en-tête personnalisé avant de la transmettre au client http pour l'envoyer au serveur http. par exemple:
L'en-tête par défaut est SET ON HTTPCLIENT à envoyer à chaque demande au serveur.
la source