2013-04-19 45 views
2

我正在使用執行WhoIs查詢來確定域的可用性的API。使用WhoIs來確定域可用性

然而,似乎每個TLD給出了不同類型的響應,所以我要爲每一個創建自定義搜索:

result.match("No match for") //.com 
result.match("NOT FOUND") //.info, .org 
!result.match("Administrative")//.biz 
result.match("Invalid query or domain")//.tk 
!result.message.match("registered")//.ca 
result.match("No Match")//.edu 
result.match("Status: free")//.de 
result.match("Not found:")//.de 

有數百個頂級域名經歷。當然,這不是做這件事的最好方法。有沒有更簡單的方法來確定域名是否已註冊?

回答

3

不幸的不是。確定域是否可用的唯一方法是通過whois呼叫。您不能使用其他方式(如DNS),因爲即使域未解析也不表示它可用。

主要問題在於:每個服務器都可以用完全不同的字符串進行響應。如果你真的想要做正確的事,你必須收集所有不同的字符串或測試一大堆可能性。

我是Ruby whois library的作者。到目前爲止,它是唯一爲每個響應提供規範和解析器的開源庫。檢查一下,你可以直接使用它,或從那裏得到所有不同的迴應,代碼是開源的。

另請注意,如果您不想處理該問題,則可以使用服務來檢查域的可用性。

這裏有幾個:

免責聲明:我的RoboWhois作者。

1

我試圖通過編譯一個綜合的Whois server list來解決這個問題。該列表包含500多個頂級域名。隨意使用該列表。

但是,如果您不想打擾保持列表最新或對whois服務器的速率限制,我可以向您推薦我的Whois API,它也在使用該列表。

+0

感謝Markus公開提供列表並維護它。 –