在node.js中获取IP的ISP

有没有办法在IP上执行whois来让ISP在Node.js / Express服务器上提供IP?

我已经得到了IP,我不想find获得客户IP的方法。

我已经find方式与外部请求付费服务,发送回JSON,但我想find一个本地的方式。

你们知道什么可以帮助我吗?

编辑:我不是试图build立一个whois服务器,我只需要我build立的应用程序来获取客户端的ISP名称。

您可以使用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 ); } }); 

这是一个实现whois客户端的Node.js模块。

正如@robertklep指出的那样,上面的模块不能和IP地址一起工作。 尽pipe如此, node-whois (我亲自testing了这个代码):

 "use strict"; var whois = require('node-whois'); whois.lookup('173.194.70.100', function(err, data) { console.log(err, data); }); 

唯一的问题是,输出不是很好。