要了解某个网站是在移动设备上打开的还是在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。

转载于:https://www.cnblogs.com/JoannaQ/p/3154011.html

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

  1. java 判断手机访问_java后台如何判断是移动端还是pc端的访问请求

    java后台如何判断是移动端还是pc端的访问请求 主要是根据  HttpServletRequest request  中的请求头所带的参数 user-agent来获取: String userAge ...

  2. js判断移动端,pc端,安卓,苹果浏览器的方法

    js 判断安卓或者ios 之indexOf方式(一) //判断访问终端 var browser={versions:function(){var u = navigator.userAgent, ap ...

  3. js判断客户端是移动端还是PC端

    //判断客户端是移动端还是pc端 //userAgent用户代理 function IsPC() { var userAgentInfo = navigator.userAgent; var Agen ...

  4. nginx配置区分移动端和PC端,访问不同域名

    在群里遇到一个朋友,想实现移动端和PC端访问相同域名,但是页面效果有区别(这里先排除自适应,因为他已经写完了两个项目,移动端和PC端分开写的),所以我就提供了如下方案:访问同一域名,在nginx里判断 ...

  5. js 判断移动端还是pc端,ios或者android

    js 判断移动端还是pc端,ios或者android 法一: function IsPC(){ var userAgentInfo = navigator.userAgent;var Agents = ...

  6. vue 判断移动端、pc端

    判断移动端或pc端 经常在项目中会有支持 pc 与手机端需求.并且pc与手机端是两个不一样的页面.这时就要求判断设置,根据不同的设置跳转不同的路由. 先写个方法: //APP.vue isMobile ...

  7. C#和JQ判断移动端还是PC端

    判断移动端还是PC端浏览网页可以使用两种方法: 1.在C#语句进行判断 /// <summary>/// 判断是移动端/// </summary>/// <returns ...

  8. 判断当前是移动端还是PC端 判断是微信浏览器还是非微信浏览器

     需求分析: 在我现有的项目中,使用MVC模型,移动端和PC端主方法都放在了C中,移动端使用 is_mobile函数来区分移动端和PC端,在移动端需要区分微信浏览器和非微信浏览器,所以经过研究和实验, ...

  9. 360浏览器打不开网页_苹果移动端、PC端safari浏览器打不开网页的解决方案!

    你还在为苹果自带的safari浏览器打不开网页而苦恼吗,接下来的答案会帮助你解决苦恼. 苹果自带safari浏览器的设备分为两种:移动端.PC端.因此不同设备出现safari浏览器打不开网页的情况需要 ...

最新文章

  1. .netcore 如何获取系统中所有session_集群化部署,Spring Security 要如何处理 session 共享?
  2. servlet-新建maven报错:web.xml is missing and <failOnMissingWebXml> is set to true
  3. iOS开发 UILabel实现自适应高宽
  4. 【转】ASP.NET 表单验证实现浅析
  5. Gartner最新洞见:数据分析将是改变“游戏规则”的技术、企业的中台需要可组装的架构
  6. 於岳 linux实用教程(第2版),Linux实用教程 第2版 教学课件 ppt 作者 於岳 编著 06...
  7. 07. Declare destructors virtual in polymorphic base classes
  8. 拓端tecdat|基于matlab的Lorenz系统仿真可视化
  9. Android文件资源(raw/data/asset)的存取
  10. 内蒙古自治区通辽市谷歌高清卫星地图下载(百度网盘离线包下载)
  11. C++ DOM读写xml(msxml6)
  12. gif制作软件 ScreenToGif
  13. kettle能否自动建表_Kettle、Python实现报表自动化
  14. 【优化】1389- 万字长文:分享前端性能优化知识体系
  15. 网络通过mac定位机器_如何设置Mac以充当网络时间机器驱动器
  16. 【NOI题库】【NOIP2016PJ猜题】雇佣兵
  17. RL(Chapter 3): Finite Markov Decision Processes (有限马尔可夫决策过程)
  18. 打造卓越的 Android 游戏体验
  19. 微信小程序的疫情防控系统
  20. 搭建一个属于自己的独立线上商城网站

热门文章

  1. 编写python代码实现打开并登录网页、对网页进行点击、输入信息等操作
  2. vscode error: You have not concluded your merge
  3. 微信账户如何解除对第三方应用的授权
  4. 申请开通自媒体账号的署名文章
  5. 迪杰斯特拉(Dijkstra)算法最通俗易懂的讲解
  6. 点餐必须扫码属违法!法院刚判了:过度收集个人隐私信息
  7. 自然语言处理训练营NLP--笔记
  8. UNIX发展史(BSD,GNU,linux)(转)
  9. 读取二代身份证号,做个记录
  10. unity 制作的app发布到andriod手机