2014-12-06 82 views
1

以編程方式驗證是否域中存在我做到以下幾點:檢查域名是否已註冊但沒有Whois?

  1. DNS查詢它,看看它是否解決。如果是這樣,那顯然是註冊了。所以沒有必要進行第2步。如果沒有,它可能仍然會被註冊。所以需要一個whois檢查。
  2. whois.iana.org回溯並查看指定的whois服務器是否知道該域名。

那麼,whois並不是真的用於批量檢查。更不用說RFC只有4頁,並且沒有關於格式甚至數據編碼的明確規範。所以你幾乎不得不訓練解析器的每個特定答案格式(服務器)

有一種方法來規避的whois查詢並檢查(儘可能靠近金屬越好)如果該域是在註冊另一(公開可用)標準化(最好是免費或實惠)方式?而不是通過下載TLD區域文件或使用第三方API (因爲他們在註冊之前檢查域名時有一個壞習慣)。 :)

我知道註冊商有自己的協議,但我不確定它是否對公衆開放。

+0

我可以爲您提供我的[Whois API](http://whois-api.domaininformation.de/)嗎?我沒有興趣搶走任何域名。 – 2016-03-11 12:20:43

+0

不要使用DNS來檢查域是否存在(如:已註冊)。你可以擁有一個根本不解析的域名(沒有名稱服務器,或者有一些域名,因此從註冊表區域文件中刪除),這是完全合法的。不幸的是,唯一的公共通用工具是'whois',但一些TLD提供了其他公共接口。註冊商當然有更強大的界面,所以你可以檢查一個你信任的人,看看它是否允許你訪問一個API來滿足你的需求。 – 2018-01-02 20:19:22

回答

3

不幸的是,如果不查看區域文件或直接檢查註冊表,沒有任何好的方法可以準確執行此操作。

註冊商通常使用像EPP這樣的協議與註冊管理機構交談,檢查名稱可用性和下訂單。授權註冊服務機構以外的其他人不太可能使用此協議,但可能需要與管理您感興趣的TLD的註冊管理機構進行覈對,例如, Verisign

我個人會警惕過度依賴DNS查詢或WHOIS查找來確定某個特定域是否存在,因爲這兩個域都會不時產生不準確的結果。例如,某些頂級域名爲名稱服務器配置了任何未經註冊的域名(他們通常會將您引導至註冊管理機構的網站)。越南的登記處就是這方面的一個例子。 WHOIS查詢可能因任何原因而失敗,因此缺少記錄並不能確定域名可用性的具體證據。

+0

*某些頂級域名具有爲任何未註冊域名配置的域名服務器名稱 - 很好知道。沒有遇到過其中之一。但它遠離我的興趣區。 ---我會選擇這個答案,因爲它是正確的答案,而不是我所希望的答案。:) – CodeAngry 2014-12-13 15:16:32

+0

@Alex根據合同,只有經過認證的註冊服務商才能訪問註冊管理機構系統,特別是通過EPP界面或同等服務。 – 2018-01-02 20:20:37

+0

@CodeAngry不幸的是,它可以隨時隨地發生。在過去的幾天內,VeriSign針對DNS的所有域名查詢(包括不存在的域名)回答了各種好的或壞的原因(取決於您的請求)。只是在一片譁然之後才停止這樣做。有關詳細信息,請參閱https://en.wikipedia.org/wiki/Site_Finder。 – 2018-01-02 20:22:17