Разбери whois ответ - PullRequest
       11

Разбери whois ответ

9 голосов
/ 10 марта 2010

Я хочу создать класс whois вот так

public class DomainInfo
{

     public string NameServer {get;set;}        
     public string CreationDate {get;set;}
     public string UpdatedDate {get;set;} 
     public string ExpirationDate {get;set;}
     public string Status {get;set;}        
     public string RegistrantName {get;set;}
     public string RegistrantOrganization {get;set;}
     public string Registrantemail {get;set;}        
     public static DomainInfo Parse(string inputData)
  {
     ......
  }
}

Но у меня есть некоторые проблемы, потому что разные DNS-серверы возвращают разные ответы, и проанализировать возвращенные ответы очень сложно. Как это можно сделать?

Ответы [ 2 ]

4 голосов
/ 10 марта 2010

Этого нельзя сделать без реализации парсера для каждой базы данных whois, с которой вы столкнулись.

Whois не имеет стандартизированного формата, большинство реестров даже не имеют всей этой информации, доступной через whois, но вместо этого дают вам дескриптор, который вы можете проверять по HTTP при заполнении капчи:

$ whois google.no
% Kopibeskyttet, se http://www.norid.no/domenenavnbaser/whois/kopirett.html
% Rights restricted by copyright. See http://www.norid.no/domenenavnbaser/whois/kopirett.en.html

Domain Information

Domain Name................: google.no
Organization Handle........: GNA78O-NORID
Registrar Handle...........: REG466-NORID
Legal-c Handle.............: RH1355P-NORID
Tech-c Handle..............: JM722P-NORID
Zone-c Handle..............: JM722P-NORID
...
2 голосов
/ 10 марта 2010

Вот ссылка на пост в блоге с кодом C #, который может помочь:

http://blog.flipbit.co.uk/2009/06/querying-whois-server-data-with-c.html

Вероятно, вы могли бы настроить код синтаксического анализа, когда сталкивались с ситуациями, когда вы не получаете необходимые данные, но я не думаю, что существует единый подход, подходящий для всех решений.

...