2010-03-09 27 views
9

OAyrışma whois cevap

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) 
    { 
    ...... 
    } 
} 

gibi whois sınıf oluşturmak istiyorum Ama farklı DNS sunucuları farklı cevaplar dönmek ve iade cevapları ayrıştırmak için çok zor bir görev olduğu için bazı sorunlar var. Bu nasıl yapılabilir?

+0

"Farklı whois sunucuları" kastediyorsunuz? DNS sunucuları whois sunucuları olmadığından, tamamen farklı bir protokoldür. – bortzmeyer

+0

Bunun geç cevap olduğunu biliyorum ama iki sentime atacağımı düşündüm; Her TLD ve gTLD için bir ayrıştırıcı oluşturmanız gerekir (bunların hepsinden 1000'i), sadece bir avuç TLD'ye ihtiyacınız olduğunu bilmedikçe bu rotayı önermem. Verilerin ayrıştırılmasının yanı sıra, oran sınırlama ve engelleme politikaları da göz önünde bulundurulmalı ve planlanmalıdır, bu yüzden kendi çözümümüzü oluşturmaya çalışmayı bıraktım ve yeni bir çözüm (https://jsonwhoisapi.com) kullanmaya başladım. – sousdev

cevap

2

yardımcı olabilecek bazı C# kodu ile bir blog yazısı bir bağlantı ver: ihtiyaç duyduğunuz verileri almıyorsanız örneklerini girmek olarak

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

muhtemelen ayrıştırma kodu çimdik olabilir ama sanmıyorum bir tane var Bütün çözümlere uyar.

+2

Bu bağlantı artık çalışmıyor. –

+0

Kendi ayrıştırıcınızı yuvarlama, çok sayıda hata ve yanlış ayrıştırma sağlayacaktır, ancak kendi başınıza oluşturma konusunda kararlıysanız, her TLD için bir ayrıştırma şablonu oluşturmanızı öneririm (bunların tümü 1.5 K +). Ya da ücretsiz bir [barındırılan hizmet] kullanın ve kullanın (https://jsonwhoisapi.com) – sousdev

4

Karşılaştığınız her whois veritabanı için bir ayrıştırıcı uygulamadan yapılamaz.

Whois hiçbir standartlaştırılmış biçimi vardır, çoğu kayıtları bile whois üzerinde mevcut tüm bu bilgilere sahip ancak bunun yerine size bir captcha doldururken HTTP üzerinden kontrol edebilirsiniz kolu vermeyin: İşte

$ 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 
... 
İlgili konular