取得客户端信息(浏览器/IP/操作系统)

原创 2004年07月24日 11:12:00

<?php
class clientGetObj{
  function getBrowse()
  {
    global $_SERVER;
    $Agent = $_SERVER['HTTP_USER_AGENT'];
    $browser = '';
    $browserver = '';
    $Browser = array('Lynx', 'MOSAIC', 'AOL', 'Opera', 'JAVA', 'MacWeb', 'WebExplorer', 'OmniWeb');
    for($i = 0; $i <= 7; $i ++){
      if(strpos($Agent, $Browsers[$i])){
        $browser = $Browsers[$i];
        $browserver = '';
      }
    }
    if(ereg('Mozilla', $Agent) && !ereg('MSIE', $Agent)){
      $temp = explode('(', $Agent);
      $Part = $temp[0];
      $temp = explode('/', $Part);
      $browserver = $temp[1];
      $temp = explode(' ', $browserver);
      $browserver = $temp[0];
      $browserver = preg_replace('/([d.]+)/', '1', $browserver);
      $browserver = $browserver;
      $browser = 'Netscape Navigator';
    }
    if(ereg('Mozilla', $Agent) && ereg('Opera', $Agent)) {
      $temp = explode('(', $Agent);
      $Part = $temp[1];
      $temp = explode(')', $Part);
      $browserver = $temp[1];
      $temp = explode(' ', $browserver);
      $browserver = $temp[2];
      $browserver = preg_replace('/([d.]+)/', '1', $browserver);
      $browserver = $browserver;
      $browser = 'Opera';
    }
    if(ereg('Mozilla', $Agent) && ereg('MSIE', $Agent)){
      $temp = explode('(', $Agent);
      $Part = $temp[1];
      $temp = explode(';', $Part);
      $Part = $temp[1];
      $temp = explode(' ', $Part);
      $browserver = $temp[2];
      $browserver = preg_replace('/([d.]+)/','1',$browserver);
      $browserver = $browserver;
      $browser = 'Internet Explorer';
    }
    if($browser != ''){
      $browseinfo = $browser.' '.$browserver;
    } else {
      $browseinfo = false;
    }
    return $browseinfo;
  }

  function getIP ()
  {
    global $_SERVER;
    if (getenv('HTTP_CLIENT_IP')) {
      $ip = getenv('HTTP_CLIENT_IP');
    } else if (getenv('HTTP_X_FORWARDED_FOR')) {
      $ip = getenv('HTTP_X_FORWARDED_FOR');
    } else if (getenv('REMOTE_ADDR')) {
      $ip = getenv('REMOTE_ADDR');
    } else {
      $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
  }

  function getOS ()
  {
    global $_SERVER;
    $agent = $_SERVER['HTTP_USER_AGENT'];
    $os = false;
    if (eregi('win', $agent) && strpos($agent, '95')){
      $os = 'Windows 95';
    }
    else if (eregi('win 9x', $agent) && strpos($agent, '4.90')){
      $os = 'Windows ME';
    }
    else if (eregi('win', $agent) && ereg('98', $agent)){
      $os = 'Windows 98';
    }
    else if (eregi('win', $agent) && eregi('nt 5.1', $agent)){
      $os = 'Windows XP';
    }
    else if (eregi('win', $agent) && eregi('nt 5', $agent)){
      $os = 'Windows 2000';
    }
    else if (eregi('win', $agent) && eregi('nt', $agent)){
      $os = 'Windows NT';
    }
    else if (eregi('win', $agent) && ereg('32', $agent)){
      $os = 'Windows 32';
    }
    else if (eregi('linux', $agent)){
      $os = 'Linux';
    }
    else if (eregi('unix', $agent)){
      $os = 'Unix';
    }
    else if (eregi('sun', $agent) && eregi('os', $agent)){
      $os = 'SunOS';
    }
    else if (eregi('ibm', $agent) && eregi('os', $agent)){
      $os = 'IBM OS/2';
    }
    else if (eregi('Mac', $agent) && eregi('PC', $agent)){
      $os = 'Macintosh';
    }
    else if (eregi('PowerPC', $agent)){
      $os = 'PowerPC';
    }
    else if (eregi('AIX', $agent)){
      $os = 'AIX';
    }
    else if (eregi('HPUX', $agent)){
      $os = 'HPUX';
    }
    else if (eregi('NetBSD', $agent)){
      $os = 'NetBSD';
    }
    else if (eregi('BSD', $agent)){
      $os = 'BSD';
    }
    else if (ereg('OSF1', $agent)){
      $os = 'OSF1';
    }
    else if (ereg('IRIX', $agent)){
      $os = 'IRIX';
    }
    else if (eregi('FreeBSD', $agent)){
      $os = 'FreeBSD';
    }
    else if (eregi('teleport', $agent)){
      $os = 'teleport';
    }
    else if (eregi('flashget', $agent)){
      $os = 'flashget';
    }
    else if (eregi('webzip', $agent)){
      $os = 'webzip';
    }
    else if (eregi('offline', $agent)){
      $os = 'offline';
    }
    else {
      $os = 'Unknown';
    }
    return $os;
  }

}
?>

使用方法:

<php
$code = new clientGetObj;
$str1 = $code->getBrowse();//浏览器:
$str2 = $code->getIP();//IP地址:
$str3 = $code->getOS();//操作系统:
echo "目标浏览器:".$str1." OS:".$str3." IP:".$str2;
?>

Servlet获取客户端浏览器信息和客户端的操作系统

前两天的项目中需要记录用户的登录信息,希望把用户的浏览器和操作系统等资料记录下来,开始的时候我是通过以下代码获取用户的浏览器和操作系统的。。       String Agent = request...
  • y353027520dx
  • y353027520dx
  • 2015-04-24 14:46:17
  • 3257

php取得客户端信息(浏览器/IP/操作系统)

php class clientGetObj{function getBrowse(){global $_SERVER;$Agent = $_SERVER[HTTP_USER_AGENT];$brow...
  • sumor
  • sumor
  • 2006-08-19 23:53:00
  • 896

JSP如何获取客户端的浏览器和操作系统信息

http://www.cnblogs.com/m3Lee/archive/2013/09/24/3337807.html
  • youlezhe
  • youlezhe
  • 2017-03-14 16:42:49
  • 1148

asp.net 获取客户端浏览器,ip地址,操作系统信息

public class CheckIP { #region 获取浏览器版本号 /// /// 获取浏览器版本号 /// /// public static string GetBrowser() {...
  • lybwwp
  • lybwwp
  • 2013-12-19 14:56:52
  • 9151

最新PHP获取客户端浏览以及操作系统信息

PHP获取客户端浏览器以及操作系统信息是通过客户端浏览器传递过来的useragent信息进行判定的,因为客户端useragent信息可以伪造,所以通过PHP获取到的浏览器以及操作系统信息只能作为参考,...
  • leesin2011
  • leesin2011
  • 2016-12-02 14:52:52
  • 6317

JavaWeb中通过从request请求中获取浏览器类型、系统信息、客户端ip等信息

JavaWeb中通过从request请求中获取浏览器、系统信息、终端ip等信息。获得客户端的IP地址 。获得客户端向服务器端传送数据的方法有GET、POST、PUT等类型 。...
  • chenchunlin526
  • chenchunlin526
  • 2017-01-23 10:50:54
  • 7336

取得客户端信息(浏览器/IP/操作系统)

class clientGetObj{  function getBrowse()  {    global $_SERVER;    $Agent = $_SERVER[HTTP_USER_AGEN...
  • meansong
  • meansong
  • 2004-09-15 14:48:00
  • 591

HttpServletRequest请求中获取操作系统,浏览器及浏览器版本信息

从request中获取操作系统和浏览器及浏览器版本信息。
  • zhouseawater
  • zhouseawater
  • 2017-02-10 17:36:11
  • 6817

.Net Web Api——获取客户端浏览器信息

第一次接触到web api,发现这个东西是REST风格的:----        微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,...
  • lhc2207221755
  • lhc2207221755
  • 2016-03-14 21:49:38
  • 3958

Java得到系统,浏览器信息和request得到所有信息

String Agent = request.getHeader("User-Agent");StringTokenizer st = new StringTokenizer(Agent,";");s...
  • jwdstef
  • jwdstef
  • 2010-02-01 10:52:00
  • 20267
收藏助手
不良信息举报
您举报文章:取得客户端信息(浏览器/IP/操作系统)
举报原因:
原因补充:

(最多只允许输入30个字)