Безголовый хром не отправляет заголовок Accept-Language

При тестировании безголового хрома я заметил, что он не передает запись заголовка Accept-Language. Я подтвердил, что он отправляется, когда есть видимое окно браузера.

Есть ли для этого причина и есть ли у Chrome возможность потребовать / заставить его отправлять эти нормальные значения?

Чтобы увидеть это, вы можете запустить Fiddler и ввести это в командной строке:

chrome --headless --incognito --window-size=1920,1080 --disable-gpu --no-sandbox http://www.daringfireball.net/

В инспекторе Fiddler (необработанное представление) вы увидите следующее:

GET https://daringfireball.net/css/ie_sucks HTTP/1.1
Host: daringfireball.net
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/65.0.3325.181 Safari/537.36
Accept: text/css,*/*;q=0.1
Referer: https://daringfireball.net/
Accept-Encoding: gzip, deflate

В то время как выполнение той же команды без --headless дает вам следующее:

GET https://daringfireball.net/css/ie_sucks.php HTTP/1.1
Host: daringfireball.net
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36
Accept: text/css,*/*;q=0.1
Referer: https://daringfireball.net/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8

person Matt W    schedule 29.03.2018    source источник


Ответы (2)


При работе в режиме без головы установите следующие параметры:

'--lang=en-GB'
person Kamran Khan    schedule 22.08.2019

Похоже, что Accept-Language - это заголовок профиля пользователя, отправляемый только тогда, когда в браузере есть подтвержденный пользователь, указывающий язык, и поскольку headless не имеет пользователя, он может / не отправляет этот заголовок. Об этом говорилось в этих сообщениях, и в обозримом будущем, похоже, будет не хватать функции:

https://github.com/SeleniumHQ/selenium/issues/4437 https://bugs.chromium.org/p/chromedriver/issues/detail?id=1925

person Matt W    schedule 13.04.2018