zoukankan      html  css  js  c++  java
  • 根据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 . "<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();
  • 相关阅读:
    Pandas怎样按条件删除行?
    分享一个百度大牛的Python视频系列下载
    Python的几个高级编程技巧
    Pandas系列-读取csv/txt/excel/mysql数据
    判断质数
    mac命令行光标操作快捷键
    私有Docker部署GitLab重置管理员密码
    noip2012借教室
    乘法逆元
    noip2008T2 火柴棒等式
  • 原文地址:https://www.cnblogs.com/helin/p/3625928.html
Copyright © 2011-2022 走看看