При тестировании безголового хрома я заметил, что он не передает запись заголовка 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