谁提供WHOIS API?

任何人都可以通过whois命令行工具或直接从注册服务商提供的基于Web的界面来进行WHOIS查询,但是存在查询限制,这使得商业化使用变得困难,例如,一旦您有超过x个域名,就无法批量检查所有现有域名的到期date,其中x是WHOIS服务器查询限制。

有没有WHOIS API的提供者?

这似乎是一个伟大的Whois XML API Web服务: http://www.whoisxmlapi.com它提供了结构化的XML和JSON和原始输出的域名whois查找。; 它会自动查询正确的registry,并可以处理大量查询。 parsing器似乎太棒了。 它能够将whois数据parsing为详细的组件。

我在Google Code上有一个基于WCF / C#的Whois服务 ,这个服务可以扩展,与www.whoisxmlapi.com提供的服务非常相似。 最初,它使用telnet从公共可用的whois服务器查找域名logging,但共享主机(GoDaddy)阻止了对端口43的访问。它现在使用ARIN RESTful Web服务来parsingIP地址的whoislogging。

基本的URI是http://adam.kahtava.com/services/whois.{xml|json|jsonp|csv}?query={ipAddress}

http://adam.kahtava.com/publicly-available-web-services/查看所有可用的URI

如前所述,源代码在这里 。

基本的例子。

using System; using System.IO; using System.Net.Sockets; using System.Text; namespace jp2code.net { class WhoIsDomain { public string WhoIs(string server, int port, string address) { string response = null; if (String.IsNullOrEmpty(server)) server = "whois.internic.net"; if (port < 1) port = 43; using (var client = new TcpClient(server, port)) { using (var ns = client.GetStream()) { using (var buffer = new BufferedStream(ns)) { var sw = new StreamWriter(buffer); sw.WriteLine(address); sw.Flush(); var sr = new StreamReader(buffer); response = sr.ReadToEnd(); } ns.Close(); ns.Dispose(); } client.Close(); } return response; } } } 

即使我更喜欢这个世界卫生组织的API 。但唯一的小故障是,他们只提供了100个免费的查询,这听起来效率低下,而进行批量search,甚至注册。