C# HttpClient добавление заголовка "User-Agent" отображается как несколько разных заголовков
при добавлении заголовка "User-Agent" в HttpClient
вместо этого в запросе отображается несколько заголовков User-Agent. Похоже, что строка, добавленная как User-Agent, по умолчанию разбивается на пробел, а затем добавляется как отдельные пользовательские агенты. Как добавить одну строку 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");
1 ответов
- вы не должны беспокоиться об этом. Он разбивает ваш пользовательский агент на несколько частей внутри, потому что именно так определяется заголовок User-Agent в RFC:
поле User-Agent request-header содержит информацию о
агент пользователя, инициирующий запрос. Это для статистических целей, отслеживание нарушений протокола и автоматическое распознавание пользователя агенты ради пошива ответов, чтобы избежать конкретного пользователя
ограничения агента. Агенты пользователей должны включать это поле с
запросы. Поле может содержать несколько маркеров продукта (раздел 3.8) и комментарии, идентифицирующие агента и любые субпродукты, которые образуют
значительная часть пользовательского агента. По соглашению, маркеры продукта перечислены в порядке их значимости для определения
приложение.User-Agent = "User-Agent"": "1*( продукт | комментарий )
Так что ты смотрите эти "маркеры продукта", и если вы исследуете каждый - вы увидите, что у них есть Product
и Comment
свойства.
User-Agent
заголовок, такой же, как вы предоставили в качестве строки.