2010-03-09 3 views
9

पार्स मुझे लगता है कि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) 
    { 
    ...... 
    } 
} 

तरह whois वर्ग बनाना चाहते हैं लेकिन मैं कुछ समस्याएं हैं क्योंकि अलग डीएनएस सर्वर अलग जवाब लौटते हैं और लौट आए उत्तर पार्स करने के लिए एक बहुत ही मुश्किल काम है। यह कैसे किया जा सकता है?

+0

आपका मतलब है "अलग व्हाइस सर्वर"? चूंकि DNS सर्वर Whois सर्वर नहीं हैं, यह एक पूरी तरह से अलग प्रोटोकॉल है। – bortzmeyer

+0

मुझे पता है कि यह एक देर का जवाब है, लेकिन मैंने सोचा कि मैं अपने दो सेंट में फेंक दूंगा; आपको प्रत्येक टीएलडी और जीटीएलडी (उनमें से सभी 1000+) के लिए एक पार्सर बनाने की जरूरत है, मैं इस मार्ग का सुझाव नहीं दूंगा जबतक कि आपको पता न हो कि आपको केवल कुछ हद तक टीएलडी की आवश्यकता होगी। आंकड़ों को पार्स करने के अलावा, नीतियों को सीमित करने और अवरुद्ध करने की दर को भी विचार करने और योजनाबद्ध करने की आवश्यकता है, यही कारण है कि मैंने अपना स्वयं का समाधान बनाने की कोशिश करना बंद कर दिया और बस [होस्टेड समाधान] (https://jsonwhoisapi.com) का उपयोग करना शुरू कर दिया। – sousdev

उत्तर

2

यहाँ है कि मदद कर सकता है कुछ सी # कोड के साथ एक ब्लॉग पोस्ट के लिए एक लिंक:

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

आप शायद के रूप में आप जिन मामलों में आप अपनी आवश्यकता का डेटा नहीं मिल रहा है में चलाने पार्स कोड में और सुधार सकता है, लेकिन मुझे नहीं लगता कि एक शही है ओई सभी समाधान फिट बैठता है।

+2

यह लिंक अब और काम नहीं कर रहा है। –

+0

अपने स्वयं के पार्सर को रोल करने से त्रुटियों और गलत पार्सिंग का एक बड़ा सौदा मिलेगा, हालांकि यदि आप अपना खुद का निर्माण करने में अशिष्ट हैं तो मैं सुझाव देता हूं कि प्रत्येक टीएलडी (उनमें से सभी 1.5 के +) के लिए एक पार्सिंग टेम्पलेट बनाएं। या जैसा कि मैं करता हूं और एक मुफ्त [होस्टेड सेवा] का उपयोग करता हूं (https://jsonwhoisapi.com) – sousdev

4

यह आपके द्वारा आने वाले प्रत्येक जोइस डेटाबेस के लिए एक पार्सर लागू किए बिना नहीं किया जा सकता है।

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 
...