.NET获取客户端的操作系统、IP地址、浏览器版本

#region 获取操作系统版本号

/// <summary>
/// 获取操作系统版本号
/// </summary>
/// <returns></returns>

public static string GetOSVersion()
{
  //UserAgent
  var userAgent = HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"];

  var osVersion = "未知";
  if (userAgent.Contains("NT 10.0"))
  {
    osVersion = "Windows 10";
  }
  else if (userAgent.Contains("NT 6.3"))
  {
    osVersion = "Windows 8.1";
  }
  else if (userAgent.Contains("NT 6.2"))
  {
    osVersion = "Windows 8";
  }

  else if (userAgent.Contains("NT 6.1"))
  {
    osVersion = "Windows 7";
  }
  else if (userAgent.Contains("NT 6.0"))
  {
    osVersion = "Windows Vista/Server 2008";
  }
  else if (userAgent.Contains("NT 5.2"))
  {
    osVersion = "Windows Server 2003";
  }
  else if (userAgent.Contains("NT 5.1"))
  {
    osVersion = "Windows XP";
  }
  else if (userAgent.Contains("NT 5"))
  {
    osVersion = "Windows 2000";
  }
  else if (userAgent.Contains("NT 4"))
  {
    osVersion = "Windows NT4";
  }
  else if (userAgent.Contains("Me"))
  {
    osVersion = "Windows Me";
  }
  else if (userAgent.Contains("98"))
  {
    osVersion = "Windows 98";
  }
  else if (userAgent.Contains("95"))
  {
    osVersion = "Windows 95";
  }
  else if (userAgent.Contains("Mac"))
  {
    osVersion = "Mac";
  }
  else if (userAgent.Contains("Unix"))
  {
    osVersion = "UNIX";
  }
  else if (userAgent.Contains("Linux"))
  {
    osVersion = "Linux";
  }
  else if (userAgent.Contains("SunOS"))
  {
    osVersion = "SunOS";
  }
  return osVersion;
}

#endregion

#region 获取IP地址

/// <summary> 
/// 获取操作系统版本号 
/// </summary> 
/// <returns></returns>

public static string GetIPAddress()
{
  string ipv4 = String.Empty;
  foreach (IPAddress IPA in Dns.GetHostAddresses(HttpContext.Current.Request.UserHostAddress))
  {
    if (IPA.AddressFamily.ToString() == "InterNetwork")
    {
      ipv4 = IPA.ToString();
      break;
    }
  }
  if (ipv4 != String.Empty)
  {
    return ipv4;
  }
  foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
  {
    if (IPA.AddressFamily.ToString() == "InterNetwork")
    {
      ipv4 = IPA.ToString();
      break;
    }
  }
  return ipv4;
}

#endregion

#region 获取浏览器版本号

/// <summary>
/// 获取浏览器版本号
/// </summary>
/// <returns></returns>
public static string GetBrowser()
{
  HttpBrowserCapabilities bc = HttpContext.Current.Request.Browser;
  return bc.Browser + bc.Version;
}

#endregion

时间: 2024-12-16 07:57:39

.NET获取客户端的操作系统、IP地址、浏览器版本的相关文章

通过HttpservletRequest对象获取客户端的真实IP地址

这篇文章主要介绍了Java中使用HttpRequest获取用户真实IP地址,使用本文方法可以避免Apache.Squid.nginx等反向代理软件导致的非真实IP地址,需要的朋友可以参考下 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的UR

获取客户端访问的ip地址

function real_ip() { static $realip = NULL; if ($realip !== NULL) { return $realip; } if (isset($_SERVER)) { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); /* 取X-Forwarded-For中第一个非unknown的有效IP字符串

服务器如何获取客户端用户的(城市)地址[获得真实IP再获得城市]

在web开发中,经常有需求,需要知道客户用户现在所在位置(城市),一般原理是这样,第一:先通过request对象获得远端用户的ip地址,第二:再利用第三方免费的(接口)服务,通过ip查询出用户的所在城市, 我擅长jsp,下面我们就已jsp为例: 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理(此处不懂反向代理请点击   点击打开链接 )软件就不能获取到客户端的真实IP地址

多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.javapeixun.com.cn / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.

Java获取请求客户端的真实IP地址

Java获取请求客户端的真实IP地址 Java,获取客户端的IP地址的方法: request.getRemoteAddr() 这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了; 如果使用了反向代理软件,将http://192.168.1.110:2046 的URL反向代理为 http://www.javapeixun.com.cn的URL时, 用 request.getRemoteAddr() 方法获取的IP地址是:127.0

JSP 获取访问者真正的IP地址

request.getRemoteAddr(),这种方法在大部分情况下都是有效的,但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了, 如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP, 经过代理以后,由于在客户端和服务器之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端, 但是在转发请求的

JAVA_用Java来获取访问者真实的IP地址

在jsp里,获取客户端的ip地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请

Java 通过HttpRequest获取请求用户真实IP地址

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.javapeixun.com.cn / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.

Servlet中获取客服端Ip地址(转载)

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的. 但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件, 用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP /** * 获取Ip地址 * @return */ protected String getIpAddr() {

PHP获取客户端的真实IP

REMOTE_ADDR只能获取访问者本地连接中设置的IP,如中南民族大学校园网中自己设置的10.X.XXX.XXX系列IP,而这个函数获取的是局域网网关出口的IP地址, 如果访问者使用代理服务器,将不获取代理服务器的IP,而是获取访问者网关的真实IP.如果将这个函数应用到限IP访问的网页中,别人即使通过限IP访问段中的代理服务器,也不能访问该页面. // 定义一个函数getIP() function getIP() { global $ip; if (getenv("HTTP_CLIENT_IP