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浏览器的用户
使用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) 当前操作系统的名称
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。