/// <summary>
/// 获取客户端操作系统版本
/// </summary>
/// <returns></returns>
public static string GetOSName()
{
if (HttpContext.Current == null || HttpContext.Current.Request == null || HttpContext.Current.Request.UserAgent == null)
{ return "未知"; } var userAgent = HttpContext.Current.Request.UserAgent.ToLower(); if (userAgent.Contains("android"))
{ return "Android"; }
else if (userAgent.Contains("mac os x"))
{ return "ios"; }
else if (userAgent.Contains("windows phone"))
{ return "Windows Phone"; }
else if (userAgent.Contains("nt 10.0"))
{ return "Windows 10"; }
else if (userAgent.Contains("NT 6.3"))
{ return "Windows8.1"; }
else if (userAgent.Contains("NT 6.2"))
{ return "Windows8"; }
else if (userAgent.Contains("nt 6.1"))
{ return "Windows 7"; }
else if (userAgent.Contains("nt 6.0"))
{ return "Windows Vista/Server 2008"; }
else if (userAgent.Contains("nt 5.2"))
{ return "Windows Server 2003"; }
else if (userAgent.Contains("nt 5.1"))
{ return "Windows XP"; }
else if (userAgent.Contains("nt 5"))
{ return "Windows 2000"; }
else if (userAgent.Contains("nt 4"))
{ return "Windows NT4"; }
else if (userAgent.Contains("me"))
{ return "Windows Me"; }
else if (userAgent.Contains(""))
{ return "Windows 98"; }
else if (userAgent.Contains(""))
{ return "Windows 95"; }
else if (userAgent.Contains("mac"))
{ return "Mac"; }
else if (userAgent.Contains("unix"))
{ return "UNIX"; }
else if (userAgent.Contains("linux"))
{ return "Linux"; }
else if (userAgent.Contains("sunos"))
{ return "SunOS"; } return "未知";
} /// <summary>
/// 获取浏览器名称
/// </summary>
/// <returns></returns>
public static string GetBrowser()
{
if (HttpContext.Current == null || HttpContext.Current.Request == null || HttpContext.Current.Request.UserAgent == null)
{ return "未知"; } var userAgent = HttpContext.Current.Request.UserAgent.ToLower(); if (userAgent.Contains("opera/ucweb"))
{ return "UC Opera"; }
else if (userAgent.Contains("openwave/ ucweb"))
{ return "UCOpenwave"; }
else if (userAgent.Contains("ucweb"))
{ return "UC"; }
else if (userAgent.Contains("360se"))
{ return ""; }
else if (userAgent.Contains("metasr"))
{ return "搜狗"; }
else if (userAgent.Contains("maxthon"))
{ return "遨游"; }
else if (userAgent.Contains("the world"))
{ return "世界之窗"; }
else if (userAgent.Contains("tencenttraveler") || userAgent.Contains("qqbrowser"))
{ return "腾讯"; }
else if (userAgent.Contains("chrome"))
{ return "Chrome"; }
else if (userAgent.Contains("safari"))
{ return "safari"; }
else if (userAgent.Contains("firefox"))
{ return "Firefox"; }
else if (userAgent.Contains("opera"))
{ return "Opera"; }
else if (userAgent.Contains("msie"))
{ return "IE"; }
else
{ return System.Web.HttpContext.Current.Request.Browser.Browser; }
} /// <summary>
/// 取得客户端IP
/// </summary>
/// <returns></returns>
public static string GetClientIp()
{
var result = "0.0.0.0"; if (HttpContext.Current == null && HttpContext.Current.Request == null)
{ return result; } result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (result == null || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (result == null || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
if (result == null || result == String.Empty)
{
result = "0.0.0.0";
} return result;
}

最新文章

  1. 企业管理软件ERP演变之一
  2. mysql延迟查询, 覆盖索引使用例子
  3. 百度地图学习(Ⅰ)-Android端地图的显示及简单应用
  4. shell !符号
  5. movebase导航
  6. 【Windows批处理III】实现删除含自定字符串的文件和文件夹(搜索子目录)
  7. 自定义组件 -- android联系人
  8. 20150601_Andriod 打开新窗体
  9. bnuoj 33647 Angry Grammar Nazi(字符串)
  10. NData BUG 记录
  11. javascript-Blob文件对象
  12. 团队作业8----第二次项目冲刺(Beta阶段) 第六天
  13. JVM学习八:常用JVM配置参数
  14. nyoj 633 幂
  15. 设计模式六: 模板方法(Template Method)
  16. 编写Linux C++程序如何影响VIRT(虚存)和RES(实存/常驻内存)
  17. PAT A1134 Vertex Cover (25 分)——图遍历
  18. ajax操作json的三种方式
  19. Sona
  20. django-templates过滤器

热门文章

  1. 【windows核心编程】系统消息与自定义钩子(Hook)使用
  2. java项目中oracle配置说明
  3. 一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg
  4. 功率 dbm 和 mw 的换算
  5. [How to]HBase集群备份方法--Replication机制
  6. OneNET麒麟座应用开发之八:采集大气压力等环境参数
  7. java多线程快速入门(十三)
  8. PHP 抽象类
  9. tyvj1051 选课
  10. CF 449D 题解(状压+容斥)