nodejs 搭建一个私有的获取ip归属地的api
2015-05-26 13:19
387 查看
前言
目前,免费的 ip 地址库不多,收费的感觉用起来不爽。淘宝有个 api 接口,但是有访问量限制。于是想到用 node 做一个自己的 api 接口。先从自己的数据库查,如果查不到的话,就到淘宝的接口查,查到后插入到自己的数据库。http://ip.youjiaxc.com/api0/ip?ip=202.101.172.35
只需要将地址202.101.172.35换成你需要查询的地址即可,返回格式如下:
{ "country": "中国", "country_id": "CN", "area": "华东", "area_id": "300000", "region": "浙江省", "region_id": "330000", "city": "杭州市", "city_id": "330100", "county": "", "county_id": "-1", "isp": "电信", "isp_id": "100017", "ip": "202.101.172.35" }
需要的模块
expressrequset
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相关文章推荐
- 淘宝API——获取IP归属地等信息
- 一个快速搭建REST的nodejs API框架---ActionHeros
- 利用新浪api获取ip归属地 - QtSharp - 博客园
- 淘宝API——获取IP归属地等信息
- 可以获取客户端ip的API
- 获取手机号运营商及归属地的免费API
- 获取指定(访客)IP的所有信息,地址、邮政编码、国家、经纬度等的API
- 一个免费的WebService获取IP信息
- nodejs 获取设备ip
- 一个小玩意儿 第一App 历史的今天 简单的API借口数据获取
- 根据ip调用新浪api获取城市名并转成拼音
- 利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
- 使用 Node.js 搭建一个 API 网关
- Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)
- 从淘宝API根据IP获取IP城市信息
- 获取远程登陆IP与客户端信息API
- Android手机号码归属地的查询(使用聚合数据API,获取JSON数据并解析)
- nodejs获取本机内网和外网ip地址的实现代码
- 获取Ip 的地域等信息的API
- HTML5 WebRTC API无需网络获取本地IP