PhantomJS - неправильный язык в Google Analytics (Accept-Language) - PullRequest
0 голосов
/ 21 марта 2019

Я провожу некоторые тесты с PhantomJS / CasperJS в Ubuntu и Google Analytics, и у меня возникают проблемы с GA, чтобы правильно распознать мои языковые настройки, которые я отправляю в заголовках HTTP-запросов.

Неважно что я ввожу в свой заголовок Accept-Language, в конечном итоге GA классифицирует язык как «c».

enter image description here

Я уверен, что мои заголовки 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 фактически был настройкой по умолчанию для LANG envпеременная внутри самой Ubuntu:

LANG=C.UTF-8

Фактически я могу повлиять на классификацию Google Analytics, изменив мои переменные ENV, используя следующую команду из командной строки:

export LC_ALL="en_US.UTF-8"

Не работаетесли я только установил "export LC_LANG" или "LANGUAGE".Я тоже не уверен, почему.

Но как мне управлять этим параметром изнутри PhantomJS / CasperJS? Я не могу / не хочу менять свои переменные ENV для каждогоPhantomJS запускается из CLI, я тестирую сразу несколько языков в больших количествах.

Кто-нибудь сталкивался с этим и может помочь?

1 Ответ

0 голосов
/ 24 марта 2019

Мне удалось найти решение этой проблемы. Я просто использую следующую команду из CLI:

$ LC_ALL=en-gb phantomjs script.js

и это правильно передает язык принятия в Google Analytics.

Я думаю, что есть проблема с правильной передачей заголовков запросов CasperJS в PhantomJS.

...