淘宝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 session常见问题集锦及解决办法总结
Mar 18 PHP
PHP程序开发范例学习之表单 获取文本框的值
Aug 08 PHP
LotusPhp笔记之:Logger组件的使用方法
May 06 PHP
探讨php中防止SQL注入最好的方法是什么
Jun 10 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
详解PHP中foreach的用法和实例
Oct 25 PHP
PHP实现的简单排列组合算法应用示例
Jun 20 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
Jun 30 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
PHP+MySQL实现消息队列的方法分析
May 09 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 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边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
php去除重复字的实现代码
2011/09/16 PHP
PHP的autoload机制的实现解析
2012/09/15 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
Python简单实现安全开关文件的两种方式
2016/09/19 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
Python中调用其他程序的方式详解
2019/08/06 Python
django框架ModelForm组件用法详解
2019/12/11 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
在pycharm创建scrapy项目的实现步骤
2020/12/01 Python
2013年员工自我评价范文
2013/12/27 职场文书
运动会广播稿300字
2014/01/10 职场文书
中药专业自荐信范文
2014/03/18 职场文书
开业主持词
2014/03/21 职场文书
计算机软件专业求职信
2014/06/10 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
海洋天堂观后感
2015/06/05 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers