在PhantomJS中伪造Referer头并不';行不通
我想让我的代码在分析系统(如google analytics)中伪造refferer头,但它不起作用。我已经添加了'var settings={…/…}'和'page.onLoadStarted=function(){page.customHeaders={};'以及'page.open(…,settings,…),但它仍然像分析中的直接流量一样被识别。下面是代码:在PhantomJS中伪造Referer头并不';行不通,phantomjs,Phantomjs,我想让我的代码在分析系统(如google analytics)中伪造refferer头,但它不起作用。我已经添加了'var settings={…/…}'和'page.onLoadStarted=function(){page.customHeaders={};'以及'page.open(…,settings,…),但它仍然像分析中的直接流量一样被识别。下面是代码: var page = require('webpage').create(); var settings = { header
var page = require('webpage').create();
var settings = {
headers: {
"Referer": "http://google.com"
}
};
var urls = ['http://china.com/','http://usa.com/','http://emirates.com/'];
var i = 0;
function OpenPage(){
setTimeout(function(){
page.onLoadStarted = function() {
page.customHeaders = {};
};
page.open(urls[i],settings, function(status) {
if (status == 'success') {
page.render('example' + i + '.png');
}
i++;
if(i <= urls.length - 1){
OpenPage();
}else{
phantom.exit();
}
});
},5000);
}
OpenPage();
var page=require('webpage').create();
变量设置={
标题:{
“推荐人”:http://google.com"
}
};
var url=['http://china.com/','http://usa.com/','http://emirates.com/'];
var i=0;
函数OpenPage(){
setTimeout(函数(){
page.onLoadStarted=函数(){
page.customHeaders={};
};
页面打开(URL[i]、设置、功能(状态){
如果(状态=‘成功’){
render('example'+i+'.png');
}
i++;
如果(i试试这个:
var page = require('webpage').create();
page.onLoadStarted = function() {
page.customHeaders = {};
};
var urls = ['http://china.com/','http://usa.com/','http://emirates.com/'];
var i = 0;
function OpenPage(){
setTimeout(function(){
page.customHeaders = {
"Referer": "https://google.com"
};
page.open(urls[i], function(status) {
if (status == 'success') {
page.render('example' + i + '.png');
}
i++;
if(i <= urls.length - 1){
OpenPage();
}else{
phantom.exit();
}
});
},5000);
}
OpenPage();
var page=require('webpage').create();
page.onLoadStarted=函数(){
page.customHeaders={};
};
var url=['http://china.com/','http://usa.com/','http://emirates.com/'];
var i=0;
函数OpenPage(){
setTimeout(函数(){
page.customHeaders={
“推荐人”:https://google.com"
};
页面打开(URL[i],函数(状态){
如果(状态=‘成功’){
render('example'+i+'.png');
}
i++;
如果(i这对谷歌分析有用
var settings = {
headers: {
"Referer": "http://www.google.com/"
}
};
page.open(urlToVisit, settings, function (status) {
...
}
基本上,您需要在页面上下文中使用page.open()函数的第二个参数使自定义引用程序可用,以便Google Analytics代码能够读取它您还可以添加以下内容以输出请求头,实际发送:page.onResourceRequested=函数(requestData){console.log('requestData:'+JSON.stringify(requestData));};对我来说太糟糕了——我对JS是新手)谢谢!您的代码正在运行。但是如果我尝试使用代理运行phantomjs myscript,js,我在分析中找不到任何引用者。您现在知道了吗?我认为谷歌将Phantom视为一个机器人,这就是为什么在分析中没有结果的原因。请尝试设置用户代理。