判断站点访问的终端类型(移动端还是pc端)的方法(转)

要了解某个网站是在移动设备上打开的还是在pc web浏览器中打开的,我们可以有以下综合的几种方式来搞定:

通过判断Request.UserAgent中的具体信息来分析判断,因为UserAgent包含了很多的信息,所以我们可以根据其中的某些信息来进行判断,具体的判断方式如下:

(1)string strUserAgent = Request.UserAgent.ToString().ToLower();
 
if (strUserAgent != null){
 
  if (Request.Browser.IsMobileDevice == true || strUserAgent.Contains("iphone") ||  
  strUserAgent.Contains("blackberry") || strUserAgent.Contains("mobile") ||  
  strUserAgent.Contains("windows ce") || strUserAgent.Contains("opera mini") ||  
  strUserAgent.Contains("palm")){
     Response.Redirect("DefaultMobile.aspx");
  }
}
 
(2)((System.Web.Configuration.HttpCapabilitiesBase)Request.Browser).IsMobileDevice
 
(3)public static boolean choose(String userAgent){        
                Agent.indexOf("WapI") > -1 || // Ericsson WapIDE 2.0   
                userAgent.indexOf("MC21") > -1 || // Ericsson MC218   
                userAgent.indexOf("AUR") > -1 || // Ericsson R320   
                userAgent.indexOf("R380") > -1 || // Ericsson R380   
                userAgent.indexOf("UP.B") > -1 || // UP.Browser   
                userAgent.indexOf("WinW") > -1 || // WinWAP browser   
                userAgent.indexOf("UPG1") > -1 || // UP.SDK 4.0   
                userAgent.indexOf("upsi") > -1 || //another kind of UP.Browser   
                userAgent.indexOf("QWAP") > -1 || // unknown QWAPPER browser   
                userAgent.indexOf("Jigs") > -1 || // unknown JigSaw browser   
                userAgent.indexOf("Java") > -1 || // unknown Java based browser   
                userAgent.indexOf("Alca") > -1 || // unknown Alcatel-BE3 browser (UP based)   
                userAgent.indexOf("MITS") > -1 || // unknown Mitsubishi browser   
                userAgent.indexOf("MOT-") > -1 || // unknown browser (UP based)   
                userAgent.indexOf("My S") > -1 ||// unknown Ericsson devkit browser   
                 userAgent.indexOf("WAPJ") > -1 ||//Virtual WAPJAG www.wapjag.de   
                userAgent.indexOf("fetc") > -1 ||//fetchpage.cgi Perl script from www.wapcab.de   
                userAgent.indexOf("ALAV") > -1 || //yet another unknown UP based browser   
                userAgent.indexOf("Wapa") > -1 || //another unknown browser (Web based "Wapalyzer")   
                userAgent.indexOf("Oper") > -1){
       return true;
   } else{
       return false;
   }
 
(4)if (HttpContext.Current.Request.Headers["user-agent"] != null && HttpContext.Current.Request.Headers["user-agent"].ToLower().ToString().IndexOf("mozilla") != -1){
                  HttpContext.Current.Response.Redirect("http://www. "); //PC
         }else{
                HttpContext.Current.Response.Redirect("http://wap "); //Mobile ClientTypeTesting.
         }

当然我们还可以根据设备的分辨率和屏幕大小来判断是移动设备还是pc设备,但是这个准确性比较低。

优酷的站点是通过网络的Ip地址来进行判断的,如果是移动网络,浏览器访问站点时就会跳转到3GP网站,否则就跳转到PC站点。

附:修改浏览器 User-Agent的方法小结

IE 

  1. 修改IE的UserAgent需要编辑注册表。
  2. "HKEY_CURRENT_USER"Software"Microsoft"Windows"CurrentVersion"Internet Settings"5.0"User Agent"Post Platform"
  3. "HKEY_LOCAL_MACHINE"SOFTWARE"Microsoft"Windows"CurrentVersion"Internet Settings"User Agent"Post Platform"
  4. "HKEY_LOCAL_MACHINE"SOFTWARE"Microsoft"Windows"CurrentVersion"Internet Settings"5.0"User Agent"Post Platform"
  5. 如要修改IE的UserAgent为FireFox的,可以这么做:
  6. UserAgent的默认值改为"Firefox",同时在Post Platform下面新建字符串值"Firefox"="",注意修改后需重启IE。

FireFox

  1. 在地址栏输入“about:config”,按下回车进入设置菜单。
  2. 找到“general.useragent.override”,如果没有这一项,则点右键“新建”->“字符串”,输入这个字符串。
  3. 将其值设为自己想要的UserAgent。

Maxthon

工具栏“工具”->“遨游设置中心”->“高级选项”,勾选“自定义 UserAgent 字符串”,下面写上自己的UserAgent记可。保存设置后重启Maxthon生效。


Chrome

  1. 方法一:启动时加上参数:--user-agent="你自己的UserAgent"。
  2. 方法二:修改chrome.dll。把里面疑似UserAgent的字符串改为自己的。

Safari

  1. 菜单栏“Edit”->“Preferences”->“Advanced”,勾选“Show Develop menu in menu bar”。
  2. 菜单栏会多出一项“Develop”,通过里面的“User Agent”子菜单即可设置自己的UserAgent。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值