淘宝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
CodeIgniter php mvc框架 中国网站
May 26 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
php出现web系统多域名登录失败的解决方法
Sep 30 PHP
Yii分页用法实例详解
Dec 04 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
php实现通过cookie换肤的方法
Jul 13 PHP
CodeIgniter生成静态页的方法
May 17 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
PHP如何实现订单的延时处理详解
Dec 30 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/03 新手入门
php二分法在IP地址查询中的应用
2008/08/12 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
javascript获取选中的文本的方法代码
2013/10/30 Javascript
javascript alert乱码的解决方法
2013/11/05 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
js运动事件函数详解
2016/10/21 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
[03:08]Ti4观战指南上
2014/07/07 DOTA
Python将xml和xsl转换为html的方法
2015/03/10 Python
python实现文件快照加密保护的方法
2015/06/30 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
pycharm实现猜数游戏
2020/12/07 Python
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
理工学院学生自我鉴定
2014/02/23 职场文书
投标担保书范文
2014/04/02 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
圣诞节开幕词
2015/01/29 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
Spring整合Mybatis的全过程
2021/06/28 Java/Android