淘宝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 insert语法详解
Jun 07 PHP
php 301转向实现代码
Sep 18 PHP
php 接口类与抽象类的实际作用
Nov 26 PHP
PHP中的integer类型使用分析
Jul 27 PHP
ajax在joomla中的原生态应用代码
Jul 19 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
Jan 14 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
php实现的二叉树遍历算法示例
Jun 15 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 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
如何做到多笔资料的同步
2006/10/09 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
vue如何安装使用Quill富文本编辑器
2018/09/21 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
Python学习教程之常用的内置函数大全
2017/07/14 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python中一般处理中文的几种方法
2019/03/06 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
彪马加拿大官网:PUMA加拿大
2018/10/04 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
大学生心理健康活动总结
2015/05/08 职场文书
学校隐患排查制度
2015/08/05 职场文书