PhantomJS - Google Analytics中的错误语言(Accept-Language)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PhantomJS - Google Analytics中的错误语言(Accept-Language)相关的知识,希望对你有一定的参考价值。

我在Ubuntu和Google Analytics上使用PhantomJS / CasperJS进行了一些测试,我遇到了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实际上是Ubuntu内部LANG env变量的默认设置:

LANG=C.UTF-8

实际上,我可以通过使用命令行中的以下命令更改我的ENV变量来影响Google Analytics分类:

export LC_ALL="en_US.UTF-8"

如果我只设置“export LC_LANG”或“LANGUAGE”,它就不起作用。我也不确定为什么。

但我如何从PhantomJS / CasperJS内部控制此设置?我不能/不想为CLI中的每个PhantomJS运行更改我的ENV变量,我一次大量测试多种语言。

有没有人经历过这个并且可以帮忙?

答案

我设法找到了解决这个问题的黑客解决方案。我只是在CLI中使用以下命令:

$ LC_ALL=en-gb phantomjs script.js

并且将Accept-Language正确传递给Google Analytics。

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

以上是关于PhantomJS - Google Analytics中的错误语言(Accept-Language)的主要内容,如果未能解决你的问题,请参考以下文章

Google Analytics(分析)报告中的归因模型

如何让 phantomjs 安装在弹性豆茎上?

LoadError:无法加载此类文件 - selenium / webdriver / phantomjs

docker+phantomjs+haproxy 搭建phantomjs集群

java phantomjs

phantomjs:如何在phantomjs中使用npm模块?