【问题标题】:PhantomJS - wrong language in Google Analytics (Accept-Language)PhantomJS - Google Analytics 中的错误语言(接受语言)
【发布时间】: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


    【解决方案1】:

    我设法找到了解决此问题的 hack-ish 解决方案。我只是使用 CLI 中的以下命令:

    $ LC_ALL=en-gb phantomjs script.js
    

    这会将 Accept-Language 正确传递给 Google Analytics。

    我认为 CasperJS 请求标头正确传递给 PhantomJS 存在问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 2017-09-04
      相关资源
      最近更新 更多