码迷,mamicode.com
首页 > Windows程序 > 详细

nodejs 搭建一个私有的获取ip归属地的api

时间:2015-05-26 14:28:16      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:api   ip地址库   

前言

目前,免费的 ip 地址库不多,收费的感觉用起来不爽。淘宝有个 api 接口,但是有访问量限制。于是想到用 node 做一个自己的 api 接口。先从自己的数据库查,如果查不到的话,就到淘宝的接口查,查到后插入到自己的数据库。

需要的模块

  • express
  • requset
  • mongoose

代码

function get_local_by_ip(req, res) {


    ip_local.findOne({ip: req.query.ip}, function (err, ipfind) {
            /**
             * 先从自己的数据库查询
             */
            if (err) throw err;
            if (ipfind) {
                res.json(ipfind)
            } else {
                /**
                 * 若找不到则从淘宝的api拿,拿到后存到数据库,返回得到的结果。
                 */
                request.post({
                        url: ‘http://ip.taobao.com/service/getIpInfo.php‘,
                        form: {ip: req.query.ip}
                    },
                    function (error, response, body) {
                        var info = JSON.parse(body);
                        if (!error && response.statusCode == 200) {
                            if (info.code === 0) {
                                res.json(info.data)
                            }
                            var new_ip = new ip_local(info.data);
                            new_ip.save()

                        }
                    }
                )

            }

        }
    )
}

截图如下:
技术分享

代码地址

github

nodejs 搭建一个私有的获取ip归属地的api

标签:api   ip地址库   

原文地址:http://blog.csdn.net/smallfish1983/article/details/46006775

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!