淘宝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制作静态网站的模板框架(一)
Oct 09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
Mar 27 PHP
php strtotime 函数UNIX时间戳
Jan 14 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
Dec 29 PHP
fetchAll()与mysql_fetch_array()的区别详解
Jun 05 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
php自定文件保存session的方法
Dec 10 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
PHP实现导出excel数据的类库用法示例
Oct 15 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 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判断变量的函数
2012/04/24 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
js代码实现微博导航栏
2015/07/30 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
JavaScript delete 属性的使用
2009/10/08 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
AngularJS语法详解
2015/01/23 Javascript
js+html5实现canvas绘制圆形图案的方法
2015/06/05 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
javascript实现画板功能
2020/04/12 Javascript
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
实例Python处理XML文件的方法
2015/08/31 Python
python中异常捕获方法详解
2017/03/03 Python
python基础之入门必看操作
2017/07/26 Python
详解Python中的type和object
2018/08/15 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
比较基础的php面试题及答案-编程题
2012/10/14 面试题
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
社区工作感言
2014/02/21 职场文书
2014年学校工作总结
2014/11/20 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
2014财务年终工作总结
2014/12/08 职场文书
答谢词范文
2015/01/05 职场文书
2015年质检工作总结
2015/05/04 职场文书
跳高加油稿
2015/07/21 职场文书
大学毕业典礼致辞
2015/07/29 职场文书