问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

自动识别WEB和WAP访客的源码

发布网友 发布时间:2024-09-27 14:15

我来回答

1个回答

热心网友 时间:2024-12-08 07:20

既然要利用已经存在的为HTML浏览器编写的代码,就需要知道请求是从HTML浏览器还是从WML浏览器过来的。同样地,如果想重新引导的HTML浏览器直接到相应的HTML文档上,WML浏览器到WML页面上,以下的PHP代码就可以做到这些。
?
// Because this script sends out HTTP header information,
// the first characters in the file must be the ? PHP tag.
// relative URL to your HTML file
$htmlredirect = "/html/my_htmlpage.html";
// ABSOLUTE URL to your WML file
$wmlredirect = "http://wap.mysite.com/wml/my_wmldeck.wml";
if(strpos(strtoupper($HTTP_ACCEPT),"VND.WAP.WML") 0)
{// Check whether the browser/gateway says it accepts WML.
$br = "WML";
}
else {
$browser=substr(trim($HTTP_USER_AGENT),0,4);
if($browser=="Noki" || // Nokia phones and emulators
$browser=="Eric" || // Ericsson WAP phones and emulators
$browser=="WapI" || // Ericsson WapIDE 2.0
$browser=="MC21" || // Ericsson MC218
$browser=="AUR " || // Ericsson R320
$browser=="R380" || // Ericsson R380
$browser=="UP.B" || // UP.Browser
$browser=="WinW" || // WinWAP browser
$browser=="UPG1" || // UP.SDK 4.0
$browser=="upsi" || // another kind of UP.Browser ??
$browser=="QWAP" || // unknown QWAPPER browser
$browser=="Jigs" || // unknown JigSaw browser
$browser=="Java" || // unknown Java based browser
$browser=="Alca" || // unknown Alcatel-BE3 browser (UP based?)
$browser=="MITS" || // unknown Mitsubishi browser
$browser=="MOT-" || // unknown browser (UP based?)
$browser=="My S" ||// unknown Ericsson devkit browser ?
$browser=="WAPJ" || // Virtual WAPJAG www.wapjag.de
$browser=="fetc" || // fetchpage.cgi Perl script from www.wapcab.de
$browser=="ALAV" || // yet another unknown UP based browser ?
$browser=="Wapa") // another unknown browser (Web based "Wapalyzer"?)
{
$br = "WML";
}
else {
$br = "HTML";
}
}
if($br == "WML") {
// Force the browser to load the WML file instead
header("302 Moved Temporarily");
header("Location: ".$wmlredirect);
exit;
}
else {
// Force the browser to load the HTML file instead
header("302 Moved Temporarily");
header("Location: ".$htmlredirect);
exit;
}
?
这个判断是在服务端完成的, PHP代码将首先查看网关是否接收text/vnd.wap.vml MIME类型。如果不是,将检测前面的字符,查看是否为WML浏览器。如果不符合,那么就假设为HTML浏览器。如果有新的WML浏览器,那么ID字符串也要增加。
这个代码基于Robert Whitinger(robert@wapsight.com)的代码,使用了Don Amaro(donamaro.concepcion@nl.unisys.com)提供的列表。
注意:由于只需要四个字符串就可以辨别,因此例如:"WapIDE-SDK/2.0;(R320s(Arial))" 可以使用“WapI”来代替是可行的做法,也是足够的。
同样的功能也可以通过ASP来解决。先判断请求的是“/index.wml” 或者 “/index.html” 和所需要的MIME类型。另外以下的脚本辨别的方式和上面不一样。另外还需要网关告诉服务器它能接收的text/vnd.wap.wml MIME类型。该例子如下所示:
%
Response.Buffer = TRUE
Dim IsWap
httpAccept = LCase(Request.ServerVariables("HTTP_ACCEPT"))
if Instr(httpAccept,"wap") then
IsWap=1
Else Response.Redirect "/index.html" : Response.Flush : Response.End
End if
%
%Response.ContentType = "text/vnd.wap.wml"%?xml version="1.0"?
%Response.Flush%
!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml"
wml
card id="redirect"
onevent type="onenterforward"
go href="/index.wml"/
/onevent
p
a href="/index.wml"enter/a
/p
/card
/wml
%Response.Flush:Response.End%
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
尚基本字义 京东京造 冰洋吧系列 复古千鸟格 冷感冰丝席三件套 蓝色 180*200cm... 期货上的黑色系是什么意思 期货黑色系指的是什么意思 期货黑色系是什么 什么是期货的黑色系 请问北戴河有没有火车票订票处? 请问现在秦皇岛北戴河是提前几点售票,是不是下午三点售第十一天的票呢... 谁知道北戴河和秦皇岛的订火车票的电话,谢谢! 樊邱的解释?樊邱是什么意思?描写地的词语 小米手环2的nfc和苹果7的nfc通用吗? 贝贝贝贝贝贝哦喔是英语歌叫什么 小米盒子要收年费吗 我和她第一次没有血是怎么回事? 第一次性生活不流血正常吗 我的女友第一次不疼不紧张也没有出血,她还是处女么 共益债务的清偿顺序是什么 企业破产时的共益债务有哪些 我明明把数据关了用无线网看电影结果还超1000多兆流量是怎么回事啊... 我们小区现在还用老式电表,小区不给换,请问往那告他们。 现在还能买到老式电表吗知乎? 《我的世界手机版》末影龙在哪介绍_《我的世界手机版》末影龙在哪是什么... 我的世界末影龙在哪怎么去末影龙的地方 我的世界末影龙在哪里-末影龙位置介绍 Win10人脸解锁不了怎么办? 如何将短信息的内容放到微信里发出去。 2019年肇兴侗寨自驾游攻略有哪些 湖南道县小甲离湖南道县彬洲有多远 鬼崽岭简介 为什么我不能加入家庭? 民族经济政策与民族经济发展的关系 如何把照片弄模糊? 请问PS中文字编辑的那个菜单不见了怎么调出来ps文字编辑栏不见了_百度... 腰上的肉怎么减掉 如何才能更快更有效减掉腰上的肉肉求大神帮助 属于公益债务的是什么 破产中所说的公益债务是什么?公益债务的规定有什么? 手机打字打“的”为什么会出现“胡”这个字?还得往后翻半天才找到,还有... ...A以至于不能打字,有时按Q出来我的电脑,有时按Z出来开始菜单怎。怎... ...Q,A,Z,Alt 这一排 不知怎么就失灵了,之前也没进水损坏什么的,_百度... 辛亥革命的历史功绩和不足分别是什么?__ 一方水泥墩子多重 400*400光伏水泥墩多重 迷案1937分集剧情 上海迷案1937演职员表 如何连接无线网络打印机呢? 佳能打印机怎么无线设置连接呢? 乌龟能听得懂人话吗? 乌龟有灵性吗 听得懂人话吗 高端民宿品牌有哪些 中国十大民宿品牌排行榜
  • 焦点

最新推荐

猜你喜欢

热门推荐