淘宝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 中文处理函数集合
Aug 27 PHP
解析PayPal支付接口的PHP开发方式
Nov 28 PHP
写出高质量的PHP程序
Feb 04 PHP
关于Zend Studio 配色方案插件的介绍
Jun 24 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
PHP常用的缓存技术汇总
May 05 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 PHP
详解php中反射的应用
Mar 15 PHP
PHP类的特性实例分析
Sep 28 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
Yii 框架控制器创建使用及控制器响应操作示例
Oct 14 PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 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
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
php5与php7的区别点总结
2019/10/11 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
JS三目运算(三元运算)方法详解
2017/03/01 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
Python实现list反转实例汇总
2014/11/11 Python
python函数形参用法实例分析
2015/08/04 Python
详解如何设置Python环境变量?
2019/05/13 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
jupyter 导入csv文件方式
2020/04/21 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
简述python Scrapy框架
2020/08/17 Python
浅析CSS3 中的 transition,transform,translate之间区别和作用
2020/03/26 HTML / CSS
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
市场营销毕业生自荐信
2013/11/23 职场文书
会计专业毕业生自荐信范文
2013/12/20 职场文书
电信营业员自我评价分享
2014/01/17 职场文书
法律七进实施方案
2014/03/15 职场文书
大班下学期个人总结
2015/02/13 职场文书
单位接收证明格式
2015/06/18 职场文书
导游词之山东孔庙
2019/11/04 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
教你如何使用Python开发一个钉钉群应答机器人
2021/06/21 Python
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android