.net判断是不是手机浏览器

作者&投稿:家削 (若有异议请与网页底部的电邮联系)
ASP.NET如何判断当前访问是否来自浏览器软件~

///
/// 判断当前访问是否来自浏览器软件
///
public static bool IsBrowserGet()
{
string[] BrowserName = { "ie", "opera", "netscape", "mozilla", "konqueror", "firefox" };
string curBrowser = HttpContext.Current.Request.Browser.Type.ToLower();
for (int i = 0; i < BrowserName.Length; i++)
{
if (curBrowser.IndexOf(BrowserName[i]) >= 0)
{
return true;
}
}
return false;
}

  用JavaScript获得。

  以下代码转自http://www.cnblogs.com/wqing/archive/2012/08/13/2636626.html
  
JS获取浏览器信息
  浏览器代码名称:navigator.appCodeName
  浏览器名称:navigator.appName
  浏览器版本号:navigator.appVersion
  对Java的支持:navigator.javaEnabled()
  MIME类型(数组):navigator.mimeTypes
  系统平台:navigator.platform
  插件(数组):navigator.plugins
  用户代理:navigator.userAgent

  DEMO:
  Js代码
  
  <!--
  function getOs()
  {
  var OsObject = "";
  if(navigator.userAgent.indexOf("MSIE")>0) {
  return "MSIE";
  }
  if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
  return "Firefox";
  }
  if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
  return "Safari";
  }
  if(isCamino=navigator.userAgent.indexOf("Camino")>0){
  return "Camino";
  }
  if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
  return "Gecko";
  }
  
  }
  alert("您的浏览器类型为:"+getOs());
  -->
  

protected void Page_Load(object sender, EventArgs e) { Response.Write(Request.Headers["User-Agent"].ToString() + "<br/>"); string agent = Request.Headers["User-Agent"]; if (choose_net(agent)) { 这是手机浏览器 } else { 这是电脑版浏览器
} } public bool choose_net(String userAgent) { if (userAgent.IndexOf("Nokia") > -1 ||
userAgent.IndexOf("Eric") > -1 || userAgent.IndexOf("WapI") > -1 || userAgent.IndexOf("MC21") > -1 || userAgent.IndexOf("AUR") > -1 || userAgent.IndexOf("R380") > -1 || userAgent.IndexOf("UP.B") > -1 || userAgent.IndexOf("WinW") > -1 || userAgent.IndexOf("UPG1") > -1 || userAgent.IndexOf("upsi") > -1 || userAgent.IndexOf("QWAP") > -1 || userAgent.IndexOf("Jigs") > -1 || userAgent.IndexOf("Java") > -1 || userAgent.IndexOf("Alca") > -1 || userAgent.IndexOf("MITS") > -1 || userAgent.IndexOf("MOT-") > -1 || userAgent.IndexOf("My S") > -1 || userAgent.IndexOf("WAPJ") > -1 || userAgent.IndexOf("fetc") > -1 || userAgent.IndexOf("ALAV") > -1 || userAgent.IndexOf("Wapa") > -1 ||
userAgent.IndexOf("UCWEB") > -1 ||
userAgent.IndexOf("BlackBerry") > -1 ||
userAgent.IndexOf("J2ME") > -1 ||
userAgent.IndexOf("Oper") > -1 || userAgent.IndexOf("Android") > -1 || userAgent.IndexOf("mozilla") > -1) { return true; } else { return false; } }

Navigator 对象包含有关浏览器的信息。
常用的有“userAgent”属性:返回由客户机发送服务器的 user-agent 头部的值。
例子:
alert(navigator.userAgent);
// Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

通过分析字符串可以得到有用的信息: navigator.userAgent.match("Android");
还有比较常用的属性是:platform 返回运行浏览器的操作系统平台。在android手机平台调用返回的是:linux

通过以下这段代码即可进行判断!
[javascript] view plaincopy
function isSystem(){
var sys;
if(navigator.userAgent.match("Android")){
sys = "Android";
}else if(navigator.userAgent.match("iPhone")){
sys = "iPhone";
}else if(navigator.userAgent.match("iPad")){
sys = "iPad";
}else{
//alert(navigator.userAgent);
}
return sys;
}

Navigator 对象包含有关浏览器的信息。

常用的有“userAgent”属性:返回由客户机发送服务器的 user-agent 头部的值。
例子:
alert(navigator.userAgent);
// Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

通过分析字符串可以得到有用的信息: navigator.userAgent.match("Android");
还有比较常用的属性是:platform 返回运行浏览器的操作系统平台。在android手机平台调用返回的是:linux

string userAgent = Request.UserAgent;
if (!string.IsNullOrEmpty(userAgent) && userAgent.Length >= 4)
{
//string u = Request.ServerVariables["HTTP_USER_AGENT"];
Regex b = new Regex(@"(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|wp|xda|xiino", RegexOptions.IgnoreCase | RegexOptions.Multiline);
Regex v = new Regex(@"1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-", RegexOptions.IgnoreCase | RegexOptions.Multiline);
if ((b.IsMatch(userAgent) || v.IsMatch(userAgent.Substring(0, 4))))
return 手机;
}
return 电脑;

既然已经有人回答了,那我就不打扰了


怎样知道手机上网是接入的NET还是WAP?这两者在费用上有区别吗?如果手...
您好,我是移动公司员工,cmwap和cmnet只是接入点不同,区别在于你的详单里能查到是使用的cmwap还是cmnet,GPRS省内的流量是指你在你所在的省内使用,国内的是指你出省后的流量,因为地区不同,套餐有时候也会不同,您办理手机上网套餐时,您会接到套餐流量的信息,或咨询工作人员,现在一般的套餐都是国内的,而...

vb.net用户登陆! 及判断用户存在! 我是新手啊!真的不知道错在哪里...
你这里初始化了的CONNECTION其实是CN,不是CONN,所以 Dim login As New SqlCommand(sqlstr, conn)这里应该是 Dim login As New SqlCommand(sqlstr, cn)

C#或ASP.net如何写"判断自己手上的麻麻将的碰、杠、吃"算法?
基本的原理:将所有的牌都做程序性编码,如果这些编码组合符合条件,即成立。例如:345万编码成3W 4W 5W 当有3W 4W 时可以将上家编码出的 5W吃,当有2个3W时,可以将任意(非自身)编码所出的 3W 碰,具体的语言不同,程序就不同,有些写起来就很简单,但基本方法不太有变化。(不要忘了给...

java .net哪个好学
总的来说,Java和.NET都是强大的技术栈,具有广泛的应用领域和生态系统支持。对于初学者来说,Java可能更容易上手学习,并具有更多的跨平台优势和丰富的学习资源。然而,每个人的学习方式和兴趣可能有所不同,建议根据自己的需求和兴趣来选择学习的方向。

什么是.net ? 具体是指什么?
。但是这当然不是.NET的全部,正如盖茨所言,仅仅能够获取信息是不够的,通过.NET,用户还将会获得由程序封装过的数据,也就是服务。关于这一点,我有如下的想象:有了.NET,全世界的互联网络会组成一个庞大的服务中心,而你的终端设备(当然不仅仅是你的台式机,还包括手机、PDA、平板PC等,甚至家用电器,前面说过了,...

net技术是什么,都有哪些技术,新手求教
.NET是微软下一代的操作平台,它允许人们在其上构建各种应用方式,使人们尽可能通过简单的方式,多样化地、最大限度地从网站获取信息,解决网站之间的协同工作,并打破计算机、设备、网站、各大机构和工业界间的障碍--即所谓的“数字孤岛”,从而实现因特网的全部潜能,搭建起第三代互联网平台。中文意思...

人的手相真的有科学依据吗
1、如果是用在预测命运、前途之类的是没有任何根据的,大家千万别迷信。2、如果是在疾病的诊断上却是有根据的,中医讲究望、闻、问、切,其中的的望就是观察,西医的观点就是查体,有些疾病的正象会反映到手上,比如慢性肝病的患者可能出现肝掌。所有关于手相这个问题要辩证看待,去伪存真!

.net和JAVA哪个更容易上手
.net你可以拖控件,很简单,适合的是快速开发。对于短时间的开发任务是比较合适的。java主要靠的是手写代码,拖控件的很少,但java开发的项目一般比较的严谨,纯手工,无用代码不多。开发的项目一般都比较大。好好考虑一下下,.net是入门简单,往后要学的很多,java是入门难,但一旦学会受益匪浅。

怎样识别一手车还是二手车
3、对于手动变速箱首先通过行驶公里数和离合器的高低程度来判断离合器片是否需要更换,再看行驶时换挡是否平顺,如果换不上挡,就说明同步器磨损严重,该大修啦;判断自变箱的好坏主要是通过感觉换挡时自变箱换挡是否平顺,“闯”的感觉是否强烈;观察换挡时,发动机的转速和车速是否在厂家规定的范围区间,...

...ASP.NET怎么判断客户端电脑中的软件进程是否运行?
首先ASP.NET项目是发布在你的外网服务器上的,客户机是通过网络访问你的服务器的,要实现你说的功能,只能是要么你的系统独立安装在客户端本地的,要么是你的项目中添加一个客户端程序作为插件,触发你的某一项操作的时候,将该程序下载并安装到客户端本地,至于的你进程判断就放在这个客户端去做,但是...

巴彦淖尔市18030796229: asp.net 判断是否是手机访问 -
乜亲浓替: 这个只能通过客户端传递的User-agent来判断 比如正常pc是:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1;) 常用手机的UserAgent你可以去网上找找,或者自己连手机测试,比如Nokia5320的是:Nokia 5320/UCWEB7.0.1.34/28/...

巴彦淖尔市18030796229: net网页想判断访问网页的客户端是手机还是电脑
乜亲浓替: 判断http头的信息即可,例: Request.Headers["user-agent"]

巴彦淖尔市18030796229: .net判断设备是pc还是手机 -
乜亲浓替: 你可以获取浏览器的useragent. useragent 属性是一个只读的字符串,声明了浏览器用于 http 请求的用户代理头的值. 但是我建议使用是否支持某个只在移动端支持的属性来判断什么设备,因为useragent是可以伪造的

巴彦淖尔市18030796229: net怎么判断客户端是电脑还是手机 -
乜亲浓替: 做了WAP网站,用到判断用户来自PC还是手机,想了很多方法,如判断IP,判断分辨率等,但经过试验,都不太可靠,最终采用了通过获得http头信息的方法来判断,此方法可靠性最高 [code] if (Request.Headers["user-agent"] != null && ...

巴彦淖尔市18030796229: 如何判断是从电脑和手机访问 -
乜亲浓替: 当用户发出访问请求时,也会将设备信息一并发出,所以你要在用户发出信息你接受后进行判断,是手机就让他访问手机网页地址,是电脑就访问电脑网页地址

巴彦淖尔市18030796229: html如何检测判断设备是手机还是电脑,然后自动决定加载哪个CSS -
乜亲浓替: 看上图我们可以知道目前分辨率的使用情况, 移动设备的分辨率高度最大不超过763 , 宽度最大不超过 640,然后我们这样写基本上就可以判断是移动设备 包括平板的,因为PC最小分辨率好像是800*600 @media screen and (max-device-width:641px) and (max-device-height:764px){ ... }

巴彦淖尔市18030796229: asp中怎样实现判断是手机访问还是电脑浏览器访问? -
乜亲浓替: 如果是手机访问则跳转到wap.asp,如果电脑访问跳转到response.end. 一、ASP是一种编程语言程序网站,一般只要挂载在服务器支持的网络上面直接输入网址即可打开,后缀名为“.asp”结尾结构.主页多数为“index.asp”格式.IE中本地...

巴彦淖尔市18030796229: .net 判断网页是手机还是电脑浏览 -
乜亲浓替: public bool IsMoblie(){string agent = (Request.UserAgent + "").ToLower().Trim();if (agent == "" ||agent.IndexOf("mobile") != -1 ||agent.IndexOf("mobi") != -1 ||agent.IndexOf("nokia") != -1 ||agent.IndexOf("samsung") != -1 ||...

巴彦淖尔市18030796229: js如何判断浏览器类型,包括手机浏览器的? -
乜亲浓替: 在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE、Firefox、Opera、Safari........众多品牌却标准不一,因此时常需要根据不同的浏览器,甚至相同浏览器不同版本做不同的操作,因此,...

巴彦淖尔市18030796229: php 判断是否是手机浏览器访问 -
乜亲浓替: //php加载函数要比加载类要快一些,建议使用函数判断/** *判断是否是通过手机访问 **/ function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } //如果via信息...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网