• 技术文章 >后端开发 >php教程

    php查询IP地址归属等信息,_PHP教程

    2016-07-12 09:02:52原创498

    php查询IP地址归属等信息,


    淘宝公司提供了一个很好用的IP地理信息查询接口。
    在这里:http://ip.taobao.com/
    TaobaoIPQuery2这个类将极大的简化相关的信息查询。

    类 TaobaoIPQuery2 文件:

    复制代码
     1 $ip));
    21         $ch = curl_init();
    22         $options = array(
    23             CURLOPT_URL => sprintf('%s?%s', self::$_requestURL, $query),
    24             CURLOPT_RETURNTRANSFER => true,
    25             CURLOPT_AUTOREFERER => false,
    26             CURLOPT_FOLLOWLOCATION => false,
    27             CURLOPT_HEADER => false,
    28             CURLOPT_TIMEOUT => 3.0,
    29         );
    30         curl_setopt_array($ch, $options);
    31         $content = curl_exec($ch);
    32         curl_close($ch);
    33         return $content;
    34     }
    35     
    36     private static function parseJSON($json){
    37         $O = json_decode ($json, true);
    38         if(false === is_null($O)){
    39             return $O;
    40         }
    41         if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
    42             $errorCode = json_last_error();
    43             if(isset(self::$_JSONParseError[$errorCode])){
    44                 throw new Exception(self::$_JSONParseError[$errorCode], 5);
    45             }
    46         }
    47         throw new Exception('JSON parse error', 5);
    48     }
    49     
    50     private static $_JSONParseError = array(
    51         JSON_ERROR_NONE=>'No error has occurred',   
    52         JSON_ERROR_DEPTH=>'The maximum stack depth has been exceeded',   
    53         JSON_ERROR_CTRL_CHAR=>'Control character error, possibly incorrectly encoded',   
    54         JSON_ERROR_STATE_MISMATCH=>'Invalid or malformed JSON',   
    55         JSON_ERROR_SYNTAX=>'Syntax error',   
    56         JSON_ERROR_UTF8=>'Malformed UTF-8 characters, possibly incorrectly encoded',
    57     );
    58 }
    复制代码

    TaobaoIPQuery2.Class.php:

    复制代码
     1 $ip));
    16         $ch = curl_init();
    17         $options = array(
    18             CURLOPT_URL => sprintf('%s?%s', self::$_requestURL, $query),
    19             CURLOPT_RETURNTRANSFER => true,
    20             CURLOPT_AUTOREFERER => false,
    21             CURLOPT_FOLLOWLOCATION => false,
    22             CURLOPT_HEADER => false,
    23             CURLOPT_TIMEOUT => 3.0,
    24         );
    25         curl_setopt_array($ch, $options);
    26         $content = curl_exec($ch);
    27         curl_close($ch);
    28         return $content;
    29     }
    30     
    31     private static function parseJSON($json){
    32         $O = json_decode ($json, true);
    33         if(false === is_null($O)){
    34             return $O;
    35         }
    36         if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
    37             $errorCode = json_last_error();
    38             if(isset(self::$_JSONParseError[$errorCode])){
    39                 throw new Exception(self::$_JSONParseError[$errorCode], 5);
    40             }
    41         }
    42         throw new Exception('JSON parse error', 5);
    43     }
    44     /* http://www.cnblogs.com/roucheng/ */
    45     private static $_JSONParseError = array(
    46         JSON_ERROR_NONE=>'No error has occurred',   
    47         JSON_ERROR_DEPTH=>'The maximum stack depth has been exceeded',   
    48         JSON_ERROR_CTRL_CHAR=>'Control character error, possibly incorrectly encoded',   
    49         JSON_ERROR_STATE_MISMATCH=>'Invalid or malformed JSON',   
    50         JSON_ERROR_SYNTAX=>'Syntax error',   
    51         JSON_ERROR_UTF8=>'Malformed UTF-8 characters, possibly incorrectly encoded',
    52     );
    53 }
    复制代码

    调用:

    $ip = $_SERVER["REMOTE_ADDR"];
    $ipquery = new taobaoIPQuery($ip);
    $region = $ipquery->get_region();
    $country = $ipquery->get_country();
    $city = $ipquery->get_city();

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1084386.htmlTechArticlephp查询IP地址归属等信息, 淘宝公司提供了一个很好用的IP地理信息查询接口。 在这里:http://ip.taobao.com/ TaobaoIPQuery2这个类将极大的简化相关...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php 查询 地址 归属 等信息 php 查询 地址 归属 等信息 淘宝 公司 提供 一个 很好 用的 地理信息
    上一篇:PHP获取二维数组中某一列的值集合,_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 总结phpredis之zrangeByScore用法• 图文详解window下安装多个php的步骤方法• PHP+Referer实现图片防盗链!(附实例代码)• 聊聊Mailtrap怎么整合PHP邮件• 用PHP将mysql数据表转换为excel文件格式_PHP教程
    1/1

    PHP中文网