淘宝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下MYSQL limit的优化
Jan 10 PHP
处理php自动反斜杠的函数代码
Jan 05 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
一个基于PDO的数据库操作类
Mar 24 PHP
php通过字符串调用函数示例
Mar 02 PHP
ThinkPHP模版引擎之变量输出详解
Dec 05 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
PHP让网站移动访问更加友好方法
Feb 14 PHP
Yii 框架控制器创建使用及控制器响应操作示例
Oct 14 PHP
PHP 代码简洁之道(小结)
Oct 16 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
PHP5中MVC结构学习
2006/10/09 PHP
2.PHP入门
2006/10/09 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
php中chdir()函数用法实例
2014/11/13 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
论坛特效代码收集(落伍转发-不错)
2006/12/02 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
JS控制弹出新页面窗口位置和大小的方法
2015/03/02 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
在Python下尝试多线程编程
2015/04/28 Python
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
python实现机器学习之元线性回归
2018/09/06 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
Java基础类库面试题
2013/09/04 面试题
经贸专业毕业生求职信范文
2014/05/01 职场文书
文明城市创建标语
2014/06/16 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
Python中三种花式打印的示例详解
2022/03/19 Python