Java 手机访问 wap 网站如何获取到当亲手机的操作系统?是android/IOS?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 手机访问 wap 网站如何获取到当亲手机的操作系统?是android/IOS?相关的知识,希望对你有一定的参考价值。

只需要获得这2种的就可以,求大神给思路,或者贴出代码,不胜感激.

这个问题可以归结为获取浏览器UA的问题:

显示所有UA信息:
Enumeration e=request.getHeaderNames();
while(e.hasMoreElements())
String name=(String)e.nextElement();
String value=request.getHeader(name);
out.println(name+"====>"+value);


request.getHeader("user-agent");
即可获得UA信息,主要包括操作系统类型,手机品牌,分辨率等信息。

比如中兴手机获取的UA信息如下:
Mozilla/5.0(Linux;U;android 2.1-update1;zh-cn;ZTE-C_N600/ZTE-C_N600V1.0.0B02;240*320;CTC/2.0)AppleWebkit/530.17(Khtml,like Gecko) Version/4.0 Mobile Safari/530.17

然后字符串查找,如果有 ios 字样的就是 iOS系统,有android字样的就是安卓系统。判断时可以统一转换为小写或大写字母。具体情况可以测试下。
参考技术A 只能根据user-agent获得,但用户很容易伪造,比如你用过海豚浏览器吧,里面可以选是以android、ios、pc。。。访问,这样网站就被欺骗了。

判断网站是否手机访问并跳转到指定的wap网站

第一种:直接JS脚本
<script type="text/javascript">
try {
var urlhash = window.location.hash;
if (!urlhash.match("fromapp")){
if (navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)){
window.location="http://192.168.0.108/smartwap";
}
}
}
catch(err){}
</script>

 

第二种:电脑版头部写法
<script language="javascript">
function is_mobile() {
var regex_match = /(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte-|longcos|pantech|gionee|^sie-|portalmmm|jigs browser|hiptop|^benq|haier|^lct|operas*mobi|opera*mini|320x320|240x320|176x220)/i;
var u = navigator.userAgent;
if (null == u) {
return true;
}
var result = regex_match.exec(u);
if (null == result) {
return false
} else {
return true
}
}
function QueryString(item)
{
var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i"))
return sValue?sValue[1]:sValue
}
if (QueryString("ID")!="t" && is_mobile()) {
document.location.href= ‘http://192.168.0.108/smartwap‘;
}
</script>


<p><a href="http://192.168.0.108/smartwap/?q=t">电脑版</a>|<a href="javascript:void(0)">手机版</a></p>

以上是关于Java 手机访问 wap 网站如何获取到当亲手机的操作系统?是android/IOS?的主要内容,如果未能解决你的问题,请参考以下文章

WAP网站和PC网站的区别

手机浏览器访问PC网站,跳转到wap手机版网站

php网站判断用户是否是手机访问的方法

如何判断网页是移动端还是电脑端打开的

判断网站是否手机访问并跳转到指定的wap网站

手机wap网站建设的方法和技巧