淘宝ip地址查询类分享(利用淘宝ip库)


Posted in PHP onJanuary 07, 2014

淘宝公司提供了一个很好用的IP地理信息查询接口。在这里:http://ip.taobao.com/

以下这个taobaoIPQuery类将极大的简化相关的信息查询。

<?phpclass taobaoIPQuery {
    private $m_ip;
    private $m_content;
    public function __construct($ip) {
        if (isset($ip)) {
            $this->m_ip = $ip;
        } else {
            $this->m_ip = "";
        }
        if (!empty($this->m_ip)) {
            $url_handle = curl_init();
            curl_setopt($url_handle, CURLOPT_URL, "http://ip.taobao.com/service/getIpInfo.php?ip=" . $this->m_ip);
            curl_setopt($url_handle, CURLOPT_RETURNTRANSFER, true);
            $this->m_content = curl_exec($url_handle);
            curl_close($url_handle);
            if ($this->m_content) {
                $this->m_content = json_decode($this->m_content);
                if ($this->m_content->{'code'} == 1) {
                    exit("query error!");
                }
            } else {
                exit("curl error!");
            }
        } else {
            exit("ip address must be not empty!");
        }
    }
    public function get_region() {
        return $this->m_content->{'data'}->{'region'};
    }
    public function get_isp() {
        return $this->m_content->{'data'}->{'isp'};
    }
    public function get_country() {
        return $this->m_content->{'data'}->{'country'};
    }
    public function get_city() {
        return $this->m_content->{'data'}->{'city'};
    }
}

调用很简单

$ip = $_SERVER["REMOTE_ADDR"];
$ipquery = new taobaoIPQuery($ip);
$region = $ipquery->get_region();
$country = $ipquery->get_country();
$city = $ipquery->get_city();
PHP 相关文章推荐
一篇入门的php Class 文章
Apr 04 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
Dec 28 PHP
php实现MD5加密16位(不要默认的32位)
Aug 12 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
iOS10推送通知开发教程
Sep 19 PHP
PHP文件上传操作实例详解
Sep 27 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
php验证码生成器
May 24 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 #PHP
PHP实现变色验证码实例
Jan 06 #PHP
有关于PHP中常见数据类型的汇总分享
Jan 06 #PHP
用php简单实现加减乘除计算器
Jan 06 #PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 #PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 #PHP
php Calender(日历)代码分享
Jan 03 #PHP
You might like
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
2015/01/08 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python读写Redis数据库操作示例
2014/03/18 Python
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
python批量提交沙箱问题实例
2014/10/08 Python
简单介绍Python中的decode()方法的使用
2015/05/18 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
PHP高级工程师面试问题推荐
2013/01/18 面试题
普通党员对照检查材料
2014/08/28 职场文书
授权委托书协议书
2014/10/16 职场文书
教师教育教学随笔
2015/08/15 职场文书
自荐信大全
2019/03/21 职场文书
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python