向其添加"User-Agent"标头时,HttpClient
会在请求中显示为多个User-Agent标头.似乎添加为User-Agent的字符串默认情况下会打破空格字符,然后将它们添加为单独的User-Agents.如何使用空格添加单个User-Agent字符串HttpClient
?
var cookieContainer = new CookieContainer();
var handler = new HttpClientHandler();
handler.CookieContainer = cookieContainer;
var httpClient = new HttpClient(handler);
httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36");
//Did not work either, same result
//httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36");
//httpClient.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36");
Run Code Online (Sandbox Code Playgroud)
你不应该担心这一点.它在内部将您的用户代理分成几个部分,因为这是RFC中定义的User-Agent头的方式:
User-Agent请求标头字段包含有关
发起请求的用户代理的信息.这是出于统计目的,跟踪协议违规以及自动识别用户代理以便定制响应以避免特定的用户
代理限制.用户代理应该包含带有
请求的字段.该字段可以包含多个产品令牌(第3.8节)和标识代理的注释以及构成
用户代理重要部分的任何子产品.按照惯例,产品令牌按其对于识别
应用程序的重要性的顺序列出.User-Agent ="User-Agent"":"1*(产品|评论)
所以你看到的是那些"产品标记",如果你探索每个-你会发现他们有Product
和Comment
性能.
然而,这并不能意味着它会发送此为6头.它将发送一个User-Agent
标题,与您提供的字符串相同.
归档时间: |
|
查看次数: |
4945 次 |
最近记录: |