web-dev-qa-db-fra.com

Comment définir un agent d'utilisateur par défaut sur un HttpClient?

Il est facile de définir un agent utilisateur sur un HttpRequest, mais souvent, je souhaite utiliser un seul HttpClient et utiliser le même agent utilisateur à chaque fois, plutôt que de le définir à chaque demande.

32
Tom Warner

Vous pouvez résoudre ceci facilement en utilisant:

HttpClient _client = new HttpClient();
_client.DefaultRequestHeaders.Add("User-Agent", "C# App");
76
Tom Warner

Utiliser DefaultRequestHeaders.Add(...) n'a pas fonctionné pour moi.

var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (compatible; AcmeInc/1.0");
20
Martin Meixger

Ce qui suit a fonctionné pour moi dans une bibliothèque .NET Standard 2.0:

HttpClient client = new HttpClient();
ProductHeaderValue header = new ProductHeaderValue("MyAwesomeLibrary", Assembly.GetExecutingAssembly().GetName().Version.ToString());
ProductInfoHeaderValue userAgent = new ProductInfoHeaderValue(header);
client.DefaultRequestHeaders.UserAgent.Add(userAgent);
// User-Agent: MyAwesomeLibrary/1.0.0.0
7
Jan Bońkowski