在HttpRequest上设置用户代理很容易,但我经常想要使用单个HttpClient并且每次都使用相同的用户代理,而不是必须在每个请求上设置它.
Tom*_*ner 83
您可以使用以下方法轻松解决
HttpClient _client = new HttpClient();
_client.DefaultRequestHeaders.Add("User-Agent", "C# App");
Run Code Online (Sandbox Code Playgroud)
Mar*_*ger 23
使用DefaultRequestHeaders.Add(...)对我不起作用.
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (compatible; AcmeInc/1.0");
Run Code Online (Sandbox Code Playgroud)
spo*_*ahn 15
使用JensG 注释
简短补充:UserAgent 类还提供 TryParse,这在没有版本号(无论出于何种原因)时特别方便。RFC 明确允许这种情况。
using System.Net.Http;
Run Code Online (Sandbox Code Playgroud)
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders
.UserAgent
.TryParseAdd("Mike D's Agent");
//User-Agent: Mike D's Agent
}
Run Code Online (Sandbox Code Playgroud)
.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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27983 次 |
| 最近记录: |