淘宝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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
用Socket发送电子邮件
Oct 09 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
Dec 16 PHP
smarty半小时快速上手入门教程
Oct 27 PHP
PHP安装memcached扩展笔记
May 28 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
PHP MSSQL 分页实例
Apr 13 PHP
php compact 通过变量创建数组
Nov 15 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 PHP
discuz论坛更换域名,详细文件修改步骤
Dec 09 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
德劲1102收音机的打理维修案例
2021/03/02 无线电
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP句法规则详解 入门学习
2011/11/09 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
PHP打印输出函数汇总
2016/08/28 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
Python 列表理解及使用方法
2017/10/27 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
使用tensorflow实现线性回归
2018/09/08 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
详解python-图像处理(映射变换)
2019/03/22 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
Python标准库itertools的使用方法
2020/01/17 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
深圳茁壮笔试题
2015/05/28 面试题
装潢设计实习自我鉴定
2013/09/19 职场文书
好家长事迹材料
2014/01/23 职场文书
继承权公证书
2014/04/09 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
网络营销计划书
2015/01/17 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python