淘宝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过期设置
Jun 29 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
PHP程序员常见的40个陋习,你中了几个?
Nov 20 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
Dec 10 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
PHP解耦的三重境界(浅谈服务容器)
Mar 13 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 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安装全攻略:APACHE
2006/10/09 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
javascript设计模式 接口介绍
2012/07/24 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
node.js基于express使用websocket的方法
2017/11/09 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
Python Socket使用实例
2017/12/18 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
美国老牌主机服务商:iPage
2016/07/22 全球购物
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
宿舍使用违章电器检讨书
2014/01/12 职场文书
小学新学期教师寄语
2014/01/18 职场文书
企业法人代表证明书
2014/09/27 职场文书
寒假安全保证书
2015/02/28 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
小学同学聚会感言
2015/07/30 职场文书
生日祝酒词大全
2015/08/10 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python
python基于tkinter制作下班倒计时工具
2021/04/28 Python
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL
Python pandas之求和运算和非空值个数统计
2021/08/07 Python
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android