[ruby-it] Ruby ha un nuovo Whois

Sandro Paganotti sandro.paganotti a gmail.com
Lun 10 Ago 2009 18:58:32 CEST


Come al solito... spettacolo !
Ho forkato la libreria, se posso contribuire fammi sapere :)
In ogni caso adesso gli do' un'occhiata

Sandro



2009/8/10 Simone Carletti <weppos a gmail.com>

> Ciao Paolo
>
> 2009/8/10 Paolo Montrasio <paolo a paolomontrasio.com>
>
> > Mi piacerebbe infatti avere una risposta automatica sull'esistenza o meno
> > del dominio e poter estrarre delle informazioni dalla risposta del
> > server.
>
>
> hai perfettamente ragione ed è il prossimo macro obiettivo, l'unico infatti
> che ho voluto inserire nella Roadmap nella documentazione della lib.
>
>
> > Non è semplice, dato che ogni registrar presenta i dati in un formato
> > diverso,
>
>
> Il punto è proprio questo. Inoltre si somma un problema. Quando il whois
> server è di tipo thin, come nel caso dei .com o .tv, esistono due risposte:
> quella del whois padre e quella del whois specifico.
> Entrambe sono ovviamente in formati specifici.
>
> Non solo, GoDaddy risponde in modo diverso da Tucows dunque anche
> all'interno della stessa estensione esistono differenze sostanziali.
>
>
> > Probabilmente l'euristica per estrarre le informazioni andrebbe messa in
> > una serie di adapter per i vari registrar (ora riesce ad estrarre
> > informazioni solo in pochi casi) e sicuramente si tratta di un
> > lavoraccio. Tuttavia se il progetto coinvolgesse molti sviluppatori ed
> > ognuno si scrivesse l'adapter per uno dei propri registrar lo sforzo per
> > il singolo sarebbe ragionevole. La cosa difficile sarà coordinare gli
> > sviluppi stabilendo l'organizzazione delle informazioni estratte.
>
>
> In realtà il mio obiettivo sarebbe quello di non presentare un sistema
> euristico bensì dotare la libreria di un parser per ogni whois server.
> Fortunatamente, ogni whois ha una risposta univoca per cui la mia idea era
> di ritornare come risposta un oggetto che estende stringa (per
> compatibilità
> con l'implementazione attuale) che salvi al suo interno anche l'oggetto
> @server.
>
> Si potrà quindi fare
>
> d = Whois::Client.new.query("weppos.com")
> # => stringa registry
>
> d = Whois::Client.new.find("weppos.com")
> # => oggetto decomposto
> d.available?
> # => false
> d.contacts.first.name
> # => Simone Carletti
> d.nameservers
> # => ["192.168.0.1", "192.168.0.1"]
> ...
>
> L'API è provvisoria. L'idea è quella di avere una lista di
> oggetti/attributi
> normalzzati al quale ricondurre ogni risposta del whois. Ovviamente ci
> saranno alcuni shortcut come
>
> Whois.whois("weppos.com")
> # => stringa
> Whois.available?("weppos.com")
> # => false
>
>
> > Nota
> > poi che il client whois di linux già fa un'aggregazione perché spesso
> > prima della risposta del server presenta un riassunto con un minimo di
> > informazioni. Ad esempio:
>
>
> Sì, è un bug noto. Al momento non concateno le risposte nel caso di un thin
> server.
> http://code.simonecarletti.com/issues/show/259
>
> Che ne dici? Comunque è già un buon progetto perché se non lo fosse non
> > ci si potrebbe costruire sopra del sw in un'oretta, post sul forum
> > incluso :-)
> >
>
> Grazie! :)
>
> --
> Simone Carletti
>
> Site & Blog: http://www.simonecarletti.com
> Email: weppos a weppos.net
> LinkedIn: http://linkedin.com/in/weppos
> Nick: weppos | Skype: weppos
> _______________________________________________
> Ml mailing list
> Ml a lists.ruby-it.org
> http://lists.ruby-it.org/mailman/listinfo/ml
>



-- 
I enjoy the massacre of ads. This sentence will slaughter ads without a
messy bloodbath.


More information about the Ml mailing list