淘宝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中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
PHP中集成PayPal标准支付的实现方法分享
Feb 06 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
Dec 02 PHP
php获取CSS文件中图片地址并下载到本地的方法
Dec 02 PHP
wordpress安装过程中遇到中文乱码的处理方法
Apr 21 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
WordPress中用于获取文章作者与分类信息的方法整理
Dec 17 PHP
PHP下载远程图片并保存到本地方法总结
Jan 22 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
php新建文件的方法实例
Sep 26 PHP
如何使用php生成zip压缩包
Apr 21 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 面向对象 PHP5 中的常量
2010/05/05 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
PHP单例模式是什么 php实现单例模式的方法
2016/05/14 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
2017/11/14 Python
Python内置模块turtle绘图详解
2017/12/09 Python
python之消除前缀重命名的方法
2018/10/21 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
python 动态调用函数实例解析
2019/10/21 Python
python 用struct模块解决黏包问题
2020/11/07 Python
高中生活自我鉴定
2014/01/18 职场文书
文明寄语大全
2014/04/11 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
党支部承诺书
2015/01/20 职场文书
开工典礼致辞
2015/07/29 职场文书
2016公司新年问候语
2015/11/11 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS