淘宝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 相关文章推荐
CakePHP去除默认显示的标题及图标的方法
Oct 22 PHP
php对图像的各种处理函数代码小结
Jul 08 PHP
PHP获取MAC地址的具体实例
Dec 13 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
浅谈PHP中Stream(流)
Jun 08 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
php结合md5的加密解密算法实例
Sep 30 PHP
yii2多图上传组件的使用教程
May 10 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
May 12 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
深思 PHP 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
jQuery autocomplate 自扩展插件、自动完成示例代码
2011/03/28 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
javascript实现日期按月份加减
2015/05/15 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
Javascript函数式编程简单介绍
2015/10/11 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
网络管理专业求职信
2014/03/15 职场文书
银行内勤岗位职责
2014/04/09 职场文书
大学新学期计划书
2014/04/28 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
《给予树》教学反思
2016/03/03 职场文书
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python