根据IP地址获取IP的详细信息

php
header('Content-Type:text/html; charset=utf-8');

function ip_data() {
    $ip  = GetIP();
    $url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' . urlencode($ip);
    $ch  = curl_init();
    curl_setopt( $ch, CURLOPT_URL , $url );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER , 1 );
    $ipdata = json_decode( curl_exec($ch) , true );
    curl_close($ch);  
    if( $ipdata['code'] ){
        die(' 请确保ip地址没有问题! ');
    }
    foreach( $ipdata['data'] as $k=>$v ){
        echo $k . ' : ' . $v . "
"; } } /* 获取用户真实地址 * @return string 返回用户ip */ function GetIP(){ if (isset($_SERVER)){ if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); /* 取X-Forwarded-For中第x个非unknown的有效IP字符? */ foreach ($arr as $ip){ $ip = trim($ip); if ($ip != 'unknown'){ $realip = $ip; break; } } }elseif (isset($_SERVER['HTTP_CLIENT_IP'])){ $realip = $_SERVER['HTTP_CLIENT_IP']; }else{ if (isset($_SERVER['REMOTE_ADDR'])){ $realip = $_SERVER['REMOTE_ADDR']; }else{ $realip = '0.0.0.0'; } } }else{ if (getenv('HTTP_X_FORWARDED_FOR')){ $realip = getenv('HTTP_X_FORWARDED_FOR'); }elseif (getenv('HTTP_CLIENT_IP')){ $realip = getenv('HTTP_CLIENT_IP'); }else{ $realip = getenv('REMOTE_ADDR'); } } preg_match("/[\d\.]{7,15}/", $realip, $onlineip); $realip = ! empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0'; return $realip; } ip_data();

 

转载于:https://www.cnblogs.com/helin/p/3625928.html

你可能感兴趣的:(根据IP地址获取IP的详细信息)