【发布时间】:2019-03-21 14:49:09
【问题描述】:
我正在 Ubuntu 和 Google Analytics 上使用 PhantomJS / CasperJS 运行一些测试,但我在 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 实际上是 Ubuntu 内部 LANG 环境变量的默认设置:
LANG=C.UTF-8
事实上,我可以通过在命令行中使用以下命令更改我的 ENV 变量来影响 Google Analytics 分类:
export LC_ALL="en_US.UTF-8"
如果我只设置“export LC_LANG”或“LANGUAGE”,它就不起作用。我也不知道为什么。
但是我如何从 PhantomJS / CasperJS 内部控制这个设置?我不能/不想为从 CLI 运行的每个 PhantomJS 更改我的 ENV 变量,我测试了多种语言立即大量涌现。
有没有人遇到过这种情况并可以提供帮助?
【问题讨论】:
标签: google-analytics http-headers phantomjs casperjs headless-browser