Я провожу несколько тестов с PhantomJS/CasperJS в Ubuntu и Google Analytics, и у меня возникают проблемы с GA, чтобы правильно распознать мои языковые настройки, которые я отправляю в заголовках HTTP-запросов.
Независимо от того, что я ввожу в свой заголовок Accept-Language, я получаю, что GA классифицирует язык как «c».
Я уверен, что мои заголовки Accept-Language верны, вот пример:
ACCEPT-ENCODING:gzip, deflate
CONNECTION:Keep-Alive
ACCEPT-LANGUAGE:en-US
USER-AGENT:Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1
ACCEPT:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
После долгих часов проб и ошибок я обнаружил, что C на самом деле является настройкой по умолчанию для переменной env LANG внутри самой Ubuntu:
LANG=C.UTF-8
На самом деле я могу повлиять на классификацию Google Analytics, изменив свои переменные ENV с помощью следующей команды из командной строки:
export LC_ALL = "en_US.UTF-8"
Это не работает, если я устанавливаю только «экспорт LC_LANG» или «LANGUAGE». Я тоже не уверен, почему.
Но как мне управлять этим параметром изнутри PhantomJS/CasperJS? я не могу/не хочу менять свои переменные ENV для каждого запуска PhantomJS из CLI, я тестирую несколько языков одновременно в больших количествах.
Кто-нибудь сталкивался с этим и может помочь?





Мне удалось найти хакерское решение этой проблемы. Я просто использую следующую команду из CLI:
$ LC_ALL=en-gb phantomjs script.js
и это правильно передает Accept-Language в Google Analytics.
Я думаю, что есть проблема с правильной передачей заголовков запросов CasperJS в PhantomJS.