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

来源:互联网 发布:韩信点兵java语言算法 编辑:程序博客网 时间:2024/04/28 18:45
<?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 . "<br>";            }}  /* 获取用户真实地址 * @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();

 

0 0
原创粉丝点击