如何区分是手机访问网站,还是PC访问网站?
2012-02-08 21:28
323 查看
ASP判断ip是否手机访问网站
=====================================
程序代码
<%
if InStr(LCase(Request.ServerVariables("HTTP_ACCEPT")),"text/vnd.wap.wml")>0 then
response.redirect "wap.asp" '如果是手机访问则跳转到wap.asp
response.end
else
response.redirect "default.asp" '如果电脑访问跳转到首页
response.end
end if
%>
我自己是在default.asp
添加
复制内容到剪贴板 程序代码
<%
if InStr(LCase(Request.ServerVariables("HTTP_ACCEPT")),"text/vnd.wap.wml")>0 then
response.redirect "wap.asp"
response.end
end if
%>
这样只要输入www.51weidi.com就可以自动判断是否是手机访问。而跳转到对应页面了。。
==================================
PHP判断用户是否用手机访问网站
老九是一个忠实的手机党,经常用手机上网,也用手机访问过我的博客,不过我的博客没有开发过wap版的,大概老九的手机浏览器比较先进吧,我用我的手机访问时总是提示页面太大(三年前买的手机,估计过时了吧)。
我一直在想,PHP应该能判断用户是否用手机访问网站吧,记得早些年,在QQ空间的留言板上还出现了该留言来自于手机的提示呢,虽然QQ空间不是用PHP开发的。于是,今天来网络上搜索了一番。找到了一个貌似还可以的方法。参考地址:
php如何判断用户通过手机wap访问还是电脑直接访问
手机需通过代理服务器来访问网站,http头信息里一般会包含一个VIA的信息,不太懂具体是什么含义,大概都是通信用的。于是我建了一个脚本测试下,<?php echo $_SERVER['HTTP_VIA'] ?>,用火狐,IE打开什么也没有。上传到网上,用我的手机访问了一下,有如下信息:HTTP/1.1 ZJHZ-PS-WAP3-GW305(infox-WISG, Huawei Technologies)。那就按照参考文章的说法,如果获取到了HTTP头信息中的VIA并且含WAP,说明是手机访问。当然对那些头信息里没有发送VIA的手机就无效了。
这样就写了一个函数来封装一下,以方便使用。代码如下:
/*
* 功能: 判断是否是手机访问
* 参数: 无
* 返回值: 返回1为是手机访问,返回0时为不是
*/
function is_wap() {
$http_via = isset($_SERVER['HTTP_VIA']) ? strtolower($_SERVER['HTTP_VIA']) : '';
return !empty($http_via) && strstr($http_via, 'wap') ? 1 : 0;
}
题外话:近几日,夜里睡觉时一直对着电扇吹,一天早上起来觉得上肢肌肉酸痛,感觉手足心发热,打了三次点滴,吃了五种药体温才恢复正常,又一次理解了身体可是革命的根本呀。在此,也提醒各位童鞋要多多注意身体了。
===================
JS如何判断来访问网站的用户是手机用户还是Web浏览器的用户
asp.net if (Request.Headers["user-agent"] != null && Request.Headers["user-agent"].ToLower().ToString().IndexOf("mozilla") != -1) Response.Redirect("www/index.aspx"); else Response.Redirect("wap/index.aspx"); JSP [code] if(request.getheader("user-agent")!=null&&(request.getheader("user-agent").tolowercase().indexof("mozilla")!=-1)) { strfinishurl = "/web/index.jsp"; }else { strfinishurl = "/wap/index.jsp"; } asp.net(C#) 中用以下代码 using System.Text.RegularExpressions;//头部引入正则的命名空间 //为了加强准确性,防止支持wap的浏览器如opera,加入操作系统验证。openwave|后为pc操作系统 string osPat = "mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95|Blackcomb|98|ME|X Window|Longhorn|ubuntu|AIX|Linux|AmigaOS|BEOS|HP-UX|OpenBSD|FreeBSD|NetBSD|OS/2|OSF1|SUN"; string uAgent = Request.ServerVariables["HTTP_USER_AGENT"]; Regex reg = new Regex(osPat); if (reg.IsMatch(uAgent)) { Response.Write("电脑访问"); } else { Response.Write("手机访问"); } Response.Write("<br/>" + uAgent); _________________________________________________________________________________ PHP中用以下代码: $uAgent = $_SERVER['HTTP_USER_AGENT']; $osPat = "mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95|Blackcomb|98|ME|X Window|ubuntu|Longhorn|AIX|Linux|AmigaOS|BEOS|HP-UX|OpenBSD|FreeBSD|NetBSD|OS\/2|OSF1|SUN"; if(preg_match("/($osPat)/i", $uAgent )) //winwap 模拟WAP手机上网的一个浏览器; openwave|后面为各pc操作系统 { echo "电脑访问"; } else { echo "手机访问"; } echo '<br/>'.$uAgent; _________________________________________________________________________________ javascript中采用navigator.userAgent 来获取,但非智能机似乎不支持js。 [code]
=====================================
程序代码
<%
if InStr(LCase(Request.ServerVariables("HTTP_ACCEPT")),"text/vnd.wap.wml")>0 then
response.redirect "wap.asp" '如果是手机访问则跳转到wap.asp
response.end
else
response.redirect "default.asp" '如果电脑访问跳转到首页
response.end
end if
%>
我自己是在default.asp
添加
复制内容到剪贴板 程序代码
<%
if InStr(LCase(Request.ServerVariables("HTTP_ACCEPT")),"text/vnd.wap.wml")>0 then
response.redirect "wap.asp"
response.end
end if
%>
这样只要输入www.51weidi.com就可以自动判断是否是手机访问。而跳转到对应页面了。。
==================================
PHP判断用户是否用手机访问网站
老九是一个忠实的手机党,经常用手机上网,也用手机访问过我的博客,不过我的博客没有开发过wap版的,大概老九的手机浏览器比较先进吧,我用我的手机访问时总是提示页面太大(三年前买的手机,估计过时了吧)。我一直在想,PHP应该能判断用户是否用手机访问网站吧,记得早些年,在QQ空间的留言板上还出现了该留言来自于手机的提示呢,虽然QQ空间不是用PHP开发的。于是,今天来网络上搜索了一番。找到了一个貌似还可以的方法。参考地址:
php如何判断用户通过手机wap访问还是电脑直接访问
手机需通过代理服务器来访问网站,http头信息里一般会包含一个VIA的信息,不太懂具体是什么含义,大概都是通信用的。于是我建了一个脚本测试下,<?php echo $_SERVER['HTTP_VIA'] ?>,用火狐,IE打开什么也没有。上传到网上,用我的手机访问了一下,有如下信息:HTTP/1.1 ZJHZ-PS-WAP3-GW305(infox-WISG, Huawei Technologies)。那就按照参考文章的说法,如果获取到了HTTP头信息中的VIA并且含WAP,说明是手机访问。当然对那些头信息里没有发送VIA的手机就无效了。
这样就写了一个函数来封装一下,以方便使用。代码如下:
/*
* 功能: 判断是否是手机访问
* 参数: 无
* 返回值: 返回1为是手机访问,返回0时为不是
*/
function is_wap() {
$http_via = isset($_SERVER['HTTP_VIA']) ? strtolower($_SERVER['HTTP_VIA']) : '';
return !empty($http_via) && strstr($http_via, 'wap') ? 1 : 0;
}
题外话:近几日,夜里睡觉时一直对着电扇吹,一天早上起来觉得上肢肌肉酸痛,感觉手足心发热,打了三次点滴,吃了五种药体温才恢复正常,又一次理解了身体可是革命的根本呀。在此,也提醒各位童鞋要多多注意身体了。
===================
JS如何判断来访问网站的用户是手机用户还是Web浏览器的用户
使用JS架框有现成的判断 例如motools架框中: Browser.Platform.mac - (boolean) 当前操作系统是否为Mac Browser.Platform.win - (boolean) 当前操作系统是否为Windows Browser.Platform.linux - (boolean) 当前操作系统是否为Linux Browser.Platform.ipod - (boolean) 当前操作系统是否为iPod Touch / iPhone Browser.Platform.other - (boolean) 当前操作系统即不是Mac, 也不是Windows或Linux Browser.Platform.name - (string) 当前操作系统的名称
这个只能通过客户端传递的User-agent来判断 比如正常pc是:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1;) 常用手机的UserAgent你可以去网上找找,或者自己连手机测试, 比如Nokia5320的是:Nokia 5320/UCWEB7.0.1.34/28/999 HTC的安卓手机:Mozilla/5.0 (Linux; U; Android 2.2; zh-cn; HTC Desire Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1; iPhone的:Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; zh-cn) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7D11
asp.net 或JSP 判断是手机还是电脑访问网站的可靠方法做了WAP网站,用到判断用户来自PC还是手机,想了很多方法,如判断IP,判断分辨率等,但经过试验,都不太可靠,最终采用了通过获得http头信息的方法来判断,此方法可靠性最高.详细代码如下:
asp.net if (Request.Headers["user-agent"] != null && Request.Headers["user-agent"].ToLower().ToString().IndexOf("mozilla") != -1) Response.Redirect("www/index.aspx"); else Response.Redirect("wap/index.aspx"); JSP [code] if(request.getheader("user-agent")!=null&&(request.getheader("user-agent").tolowercase().indexof("mozilla")!=-1)) { strfinishurl = "/web/index.jsp"; }else { strfinishurl = "/wap/index.jsp"; } asp.net(C#) 中用以下代码 using System.Text.RegularExpressions;//头部引入正则的命名空间 //为了加强准确性,防止支持wap的浏览器如opera,加入操作系统验证。openwave|后为pc操作系统 string osPat = "mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95|Blackcomb|98|ME|X Window|Longhorn|ubuntu|AIX|Linux|AmigaOS|BEOS|HP-UX|OpenBSD|FreeBSD|NetBSD|OS/2|OSF1|SUN"; string uAgent = Request.ServerVariables["HTTP_USER_AGENT"]; Regex reg = new Regex(osPat); if (reg.IsMatch(uAgent)) { Response.Write("电脑访问"); } else { Response.Write("手机访问"); } Response.Write("<br/>" + uAgent); _________________________________________________________________________________ PHP中用以下代码: $uAgent = $_SERVER['HTTP_USER_AGENT']; $osPat = "mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95|Blackcomb|98|ME|X Window|ubuntu|Longhorn|AIX|Linux|AmigaOS|BEOS|HP-UX|OpenBSD|FreeBSD|NetBSD|OS\/2|OSF1|SUN"; if(preg_match("/($osPat)/i", $uAgent )) //winwap 模拟WAP手机上网的一个浏览器; openwave|后面为各pc操作系统 { echo "电脑访问"; } else { echo "手机访问"; } echo '<br/>'.$uAgent; _________________________________________________________________________________ javascript中采用navigator.userAgent 来获取,但非智能机似乎不支持js。 [code]
相关文章推荐
- web网站判断是手机访问还是pc电脑访问的检测逻辑
- ASP 中如何判断PC用户访问还是手机用户访问
- 用PHP检测用户是用手机(Mobile)还是电脑(PC)访问网站
- 【ASP.NET】判断访问网站的客户端是PC还是手机
- web网站判断是手机访问还是pc电脑访问的检测逻辑
- 教你如何分辨用户是用手机还是电脑访问你的网站
- 【ASP.NET】判断访问网站的客户端是PC还是手机
- 教你如何分辨用户是用手机还是电脑访问你的网站
- 怎样辨别网站推广优化中,网站的访问来源是通过手机移动端访问过来的还是pc电脑端访问进来的?
- 判断访问网站的客户端是PC还是手机
- JavaScript-如何判断手机还是电脑访问了网站
- Nginx区分PC或手机访问不同网站
- 【转】Nginx区分PC或手机访问不同网站
- .net访问网站的是手机还是PC
- 如何判断是手机还是电脑在访问网站?
- 教你如何分辨用户是用手机还是电脑访问你的网站
- WebSite区分PC访问,还是手机访问
- Nginx区分PC或手机访问不同网站
- asp如何判断进入网站的客户是手机还是pc
- 如何判断是手机还是电脑在访问网站