2014-09-30

Dizionario on-line da bash con curl

La RFC 2229 descrive il protocollo Internet DICT per permettere l'accesso a dizionari in rete.
Un modo molto semplice per accedere è l'utilizzo del comando curl che supporta tale protocollo.

Un esempio con la parola inglese door che viene tradotta in Italiano in porta o uscio:
curl "dict://dict.org/d:door:fd-eng-ita"
restituisce:
220 pan.alephnull.com dictd 1.12.1/rf on Linux 3.14-1-amd64 <auth.mime> <6051747.13047.1412087461@pan.alephnull.com>
250 ok
150 1 definitions retrieved
151 "door" fd-eng-ita "English-Italian FreeDict Dictionary ver. 0.1.1"
door
 porta; uscio
.
250 ok [d/m/c = 1/0/12; 0.000r 0.000u 0.000s]
221 bye [d/m/c = 0/0/0; 0.000r 0.000u 0.000s]

le righe che iniziano con un numero fanno parte del protocollo ed offrono un utilizzo agevolato per il trattamento automatico:
il 220 corrisponde al messaggio di benvenuto da parte del server che indica i suoi riferimenti e le sue caratteristiche.
il 250 seguito da ok rappresenta la presa in carico della richiesta.
il 150 riporta il numero delle definizioni trovate, se non ce ne fossero il codice sarebbe 552.
Per ogni definizione trovate avremo un 151 con l'indicazione della parola cercata, il codice e la descrizione del dizionario in cui è stata trovata
Di seguito alla riga con codice 151 viene riportato il contenuto della definizione che si conclude con una riga contenente solo un punto "."
Al termine delle definizioni trovate di nuovo un codice 250 con eventuali indicazioni dei tempi impiegati per reperire le informazioni.
Il codice 221 rappresenta i saluti da parte del server per la chiusura della connessione.

Altrettanto interessante può essere l'esecuzione di una richiesta senza specificare il dizionario da usare:
curl "dict://dict.org/d:door"
si ottiene il contenuto della definizione door per il Dizionario Inglese Collaborativo Internazionale che rappresenta il dizionario di default del server dict.org.

Per ottenere la lista dei dizionari disponibili in dict.org eseguire:
curl "dict://dict.org/show:db"
in risposta si ottiene un codice 110 con l'indicazione del numero di dizionari presenti e di seguito la lista indicante il codice e la descrizione di ognuno, termina con la solita riga con un solo punto, poi il 250 e il 221 di saluti.

Nella lista ottenuta vorrei che si notasse:
foldoc "The Free On-line Dictionary of Computing (20 July 2014)"
e trovo doveroso il comando:
curl "dict://dict.org/d:linux:foldoc"

Idea presa da http://www.thegeekstuff.com/2012/04/curl-examples/

Nessun commento:

Posta un commento