簡體   English   中英

如何處理Whois數據

[英]how to handle whois data

我需要將Whois數據放在一個表中

  • 注冊人,
  • 創建日期,
  • 到期日等

我具有從whois服務器提取數據的腳本,但是每個域擴展的輸出都不同。

例如,對於.com域名,注冊人詳細信息作為總地址;對於.org域名,其詳細信息作為注冊人名稱,street1,street2,street3等。

所以我無法提取注冊人詳細信息作為要放入數據庫的單元。

在某些地方,我聽說如果我們將其作為xml數據獲取,我們可以提取它,有人可以幫助解決這個問題嗎? 謝謝!。

實際上,問題遠不止於此。

  • 沒有用於請求的統一語法
  • 也沒有定義的功能集
  • 沒有確定的答案方案
  • 當地法規使內容有所不同
  • 沒有設置標准化的錯誤
  • 記錄信息的質量較弱
  • 你必須處理內部化

WHOIS服務由RFC3912定義。 這是完全明確的回答內容的格式非常基本的請求協議。 因此,答案通常反映了包含數據的數據庫的格式,並且每個數據庫的語法可能不同。 由於WHOIS可以用於您想要的任何內容,因此您無法對將獲得的答案的格式做出很多假設。 但是,希望您可以期望收到可解析的內容以及每個請求的格式類似的答案。

因此,您需要為每台服務器開發一個解析邏輯,這將以非常經驗的方式進行。

但是,這里有一些來自RFC的開發技巧。

  • 您需要使用TCP端口43發送請求,並以CR + LF ASCII字符結尾的單行

  • 您必須期望TCP連接結束,因為這意味着答案已完成。

特別是關於域名,您可能需要注意,以前對ASCII編碼的限制使一些注冊人使用Punycode對DNS系統中的某些(以示例為重點)字符串進行編碼,因此您可能希望能夠在Whois答復中獲得這些信息。如果您遇到一些答復,也可以。 自2003年以來,國際化域名的存在將要求您支持unicode編碼。 轉換名稱的算法很復雜,RFC 3490應該為您提供一些有用的細節。

祝好運 !

您需要檢測格式,並為它們使用不同的正則表達式。 或者,正如您提到的,您可以使用XML甚至JSON API http://whoisxmlapi.com/ http://www.domaintools.com/api/docs/

您需要擴展數據庫和處理,以更好地解決該問題。

如前所述,遠程服務提供的數據采用不同的格式。 因此,您需要將獲取數據和解析數據的關注點分開,因為兩者是相互獨立的。 例如,一個TLD的格式可以隨時間變化。

因此,首先,您需要按域獲取純文本數據並將其存儲為元數據:

  • Whois服務器
  • 提取操作的時間戳
  • 響應
  • 狀態碼(如果協議有此代碼)

然后,您可以稍后在第二個處理中進行解析。 您可以使用已經存在的元數據來決定所需的解析算法。 這也有助於您隨着時間的推移維護應用程序。

正確解析之后,您便獲得了目標格式。

除了這些技術處理之外,您還應注意Whois服務提供的使用條件。 並非所有在技術上可能的東西都在法律上或道德上被接受。 保重並以應有的尊重對待他人的個人記錄。 保護您收集的數據,例如存檔和加擾/鎖定您不再需要進行處理的數據。

另請參閱:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM