有没有办法在IP上执行whois以获取在Node.js / Express服务器中提供该IP的ISP?
我已经获得了IP,我不是在寻找获取客户端IP的方法。
我已经找到了对发送回JSON的付费服务的外部请求的方法,但我想找到一种本地方式。
你们有什么可以帮助我的吗?
编辑:我不是要构建一个whois服务器,我只需要构建的应用程序来获取客户端的ISP名称。
答案 0 :(得分:8)
您可以使用node-whois模块获取ISP信息,但在其响应中,访问特定密钥的值非常复杂。所以还有另一种方法是你可以使用卫星模块,这个模块可以提供快速响应和响应以json格式提供,这样你就可以轻松访问任何键值。 这是代码。
var satelize = require('satelize');
var ExternalIP = "173.194.70.100"; // I asume that, you already have external(public)IP
satelize.satelize({ip: ExtenalIP}, function(err, geoData)
{
if(err){
console.log(" Error in retriving ISP Information");
}
else
{
console.log("ISP Information for "+ ExternalIP+" :"+geoData );
}
});
答案 1 :(得分:6)
This是一个实现whois客户端的Node.js模块。
正如@robertklep正确指出的那样,上述模块不适用于IP地址。不过,node-whois确实(我这次亲自测试了代码):
"use strict";
var whois = require('node-whois');
whois.lookup('173.194.70.100', function(err, data) {
console.log(err, data);
});
唯一的问题是输出效果不是很好。
答案 2 :(得分:4)
https://github.com/xreader/whois有很好的JSON输出。希望这有助于某人。