首页 新闻 会员 周边

网站访问,如何知道此网站是从什么渠道访问的呢

0
悬赏园豆:50 [待解决问题]

最近公司要用java做一个网站访问统计的系统,需求是可以知道网站是从哪些渠道被访问的应该怎么设计 ,百度统计以及51la有这样的功能这两个网站是php写,我想php能写出来java应该也可以的想在这请教下思路

BlackCatFish的主页 BlackCatFish | 初学一级 | 园豆:2
提问于:2019-01-16 09:49
< >
分享
所有回答(4)
0

referer 网站请求的时候回带这个东东,这是就是告诉你我是从哪里来的

xiaobaiskill | 园豆:1087 (小虾三级) | 2019-01-16 09:51
0
String userAgent = request.getHeader("user-agent");
if(userAgent.indexOf("Android") != -1){
    //安卓
}else if(userAgent.indexOf("iPhone") != -1 || userAgent.indexOf("iPad") != -1){
   //苹果
}else{
    //PC
}
ycyzharry | 园豆:25653 (高人七级) | 2019-01-16 10:34
0

var wzw={
//浏览器相关信息
//android webview 需要app进行支持,Android web view初始化时,在navigator中添加标识
browser:{
versions:function(){
var u = navigator.userAgent, app = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
mobile: !!u.match(/AppleWebKit.Mobile./), //是否为移动终端
ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
iosView: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1 || u.indexOf('micromessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.indexOf('QQ')>-1 || u.indexOf('qq')>-1, //是否QQ
uc: u.indexOf('UCBrowser') > -1 || u.indexOf('uc') > -1,
androidView: u.indexOf('ANDROIDWEBVIEW')>-1//需要app端配合,在userAgent中加入标识
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase(),
appVersion:navigator.appVersion,
isIOS:function(){
if (/iphone|ipod|ipad/.test(navigator.userAgent)) { return true;}
else {return false;}
}(),
isAndroid:function(){
if (/(Android)/i.test(navigator.userAgent)) {return true}
else{return false}
}(),
isIOSView:function(){
var standalone = window.navigator.standalone,
userAgent = window.navigator.userAgent.toLowerCase(),
safari = /safari/.test( userAgent );
if(!standalone && !safari){
return true;
}else{
return false;
}
}()
}
};
wzw.browser.isMobile=function(){
if(wzw.browser.versions.mobile||wzw.browser.versions.android||wzw.browser.versions.ios){ return true }
else{return false}
}();
wzw.browser.isPc=function(){
if(wzw.browser.versions.mobile||wzw.browser.versions.android||wzw.browser.versions.ios){ return false }
else{return true}
}();

彪悍的代码不需要注释 | 园豆:221 (菜鸟二级) | 2019-01-18 10:49

/*

  • 智能机浏览器版本信息:
  • /
    var browser = {
    versions: function() {
    var u = navigator.userAgent, app = navigator.appVersion;
    return {//移动终端浏览器版本信息
    trident: u.indexOf('Trident') > -1, //IE内核
    presto: u.indexOf('Presto') > -1, //opera内核
    webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
    gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
    mobile: !!u.match(/AppleWebKit.
    Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
    ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
    android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
    iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
    iPad: u.indexOf('iPad') > -1, //是否iPad
    webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
    };
    }(),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
    };

然后进行判断

//判断版本
function check() {
try{

  if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
     isIOS = true;
     
  }else{
     isIOS = false;
     
  }

}catch(e){
//不支持获取版本号交互
alert("出错啦?!");

}
}

0

有这种网站分析工具,一般情况不需要写。

花飘水流兮 | 园豆:13560 (专家六级) | 2019-01-22 17:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册