Hemos mencionado dos �rdenes NNTP que son clave en cuanto a c�mo los art�culos de noticias se impulsan o seleccionan entre servidores. Ahora, le echaremos un vistazo a todo esto en una sesi�n NNTP real para mostrarle cu�n sencillo es el protocolo. Para ilustrar nuestros prop�sitos, usaremos un sencillo cliente telnet para conectar con un servidor de noticias basado en INN de la Cervecera Virtual llamado news.vbrew.com. El servidor est� corriendo una configuraci�n m�nima para que los ejemplos sean cortos. Ya veremos c�mo completar la configuraci�n de este servidor en Cap�tulo 23. En nuestras pruebas pondremos especial cuidado en generar art�culos s�lo en el grupo de noticias es.pruebas para evitar molestar a nadie.
$ telnet news.vbrew.com nntp Trying 172.16.1.1... Connected to localhost. Escape character is '^]'. 200 news.vbrew.com InterNetNews server INN 1.7.2 08-Dec-1997 ready help 100 Legal commands authinfo help ihave check takethis list mode xmode quit head stat xbatch xpath xreplic For more information, contact "usenet" at this machine. . |
ihave <123456@gw.vk2ktj.ampr.org> 335 From: terry@gw.vk2ktj.ampr.org Subject: mensaje de prueba enviado con ihave Newsgroups: es.pruebas Distribution: mundo Path: gw.vk2ktj.ampr.org Date: 26 Abril 1999 Message-ID: <123456@gw.vk2ktj.ampr.org> Body: Esto es un mensaje de prueba enviado usando la orden NNTP IHAVE. . 235 |
mode reader 200 news.vbrew.com InterNetNews NNRP server INN 1.7.2 08-Dec-1997 ready/ (posting ok). help 100 Legal commands authinfo user Name|pass Password|generic <prog> <args> article [MessageID|Number] body [MessageID|Number] date group newsgroup head [MessageID|Number] help ihave last list [active|active.times|newsgroups|distributions|distrib.pats|/ overview.fmt|subscriptions] listgroup newsgroup mode reader newgroups yymmdd hhmmss ["GMT"] [<distributions>] newnews newsgroups yymmddhhmmss ["GMT"] [<distributions>] next post slave stat [MessageID|Number] xgtitle [group_pattern] xhdr header [range|MessageID] xover [range] xpat header range|MessageID pat [morepat...] xpath MessageID Report problems to <usenet@vlager.vbrew.com> . |
list newgroups 215 Descriptions in form "group description". control News server internal group junk News server internal group local.general General local stuff local.test Local test group . |
list active muestra cada grupos soportado y ofrece informaci�n sobre ellos. Los dos n�meros de cada l�nea de la salida son las marcas de agua alta y baja—es decir, el art�culo numerado m�s alto y el art�culo numerado m�s bajo en cada grupo. El lector de noticias es capaz de hacerse una idea del n�mero de art�culos del grupo a partir de �stos. Hablaremos un poco m�s sobre estos n�meros en un momento. El �ltimo campo de la salida muestra variables que controlan si se permite publicar en el grupo, si el grupo est� moderado y si los art�culos publicados tienen o no que guardarse. Estas variables se describen con detalle en Cap�tulo 23. �ste es el aspecto de un ejemplo:
list active 215 Newsgroups in form "group high low flags". control 0000000000 0000000001 y junk 0000000003 0000000001 y alt.test 0000000000 0000000001 y . |
post 340 Ok From: terry@richard.geek.org.au Subject: mensaje de prueba n�mero 1 Newsgroups: es.pruebas Body: Esto es un mensaje de prueba, ign�relo libremente. . 240 Article posted |
newnews junk 990101 000000 230 New news follows <7g2o5r$aa$6@news.vbrew.com> <7g5bhm$8f$2@news.vbrew.com> <7g5bk5$8f$3@news.vbrew.com> . |
group es.pruebas 211 3 1 3 es.pruebas |
listgroup es.pruebas 211 Article list follows 1 2 3 . |
head 2 221 2 <7g5bhm$8f$2@news.vbrew.com> head Path: news.vbrew.com!not-for-mail From: terry@richard.geek.org.au Newsgroups: es.pruebas Subject: mensaje de prueba n�mero 2 Date: 27 Apr 1999 21:51:50 GMT Organization: La Cervecera Virtual Lines: 2 Message-ID: <7g5bhm$8f$2@news.vbrew.com> NNTP-Posting-Host: localhost X-Server-Date: 27 Apr 1999 21:51:50 GMT Body: Xref: news.vbrew.com es.pruebas:2 . |
body 2 222 2 <7g5bhm$8f$2@news.vbrew.com> body Esto es otro mensaje de prueba, ign�relo tambi�n libremente. . |
Aunque normalmente es m�s eficiente transferir las cabeceras y los cuerpos de manera separada, hay ocasiones en las que puede resultarnos mejor descargar el art�culo completo. Un buen ejemplo de esto es en aplicaciones a trav�s de las que queramos transferir todos los art�culos de un grupo sin ning�n tipo de preselecci�n, como cuando usamos un programa con cach� NNTP tipo leafnode.[1]
Naturalmente, NNTP nos ofrece una forma de hacer esto, y de manera ya poco sorprendente, funciona de manera casi id�ntica a como lo hace la orden head. La orden article tambi�n acepta un n�mero de art�culo o un ID de mensaje como variable, pero devuelve el art�culo completo incluyendo su cabecera:
article 1 220 1 <7g2o5r$aa$6@news.vbrew.com> article Path: news.vbrew.com!not-for-mail From: terry@richard.geek.org.au Newsgroups: es.pruebas Subject: mensaje de prueba n�mero 1 Date: 26 Apr 1999 22:08:59 GMT Organization: La Cerveceraa Virtual Lines: 2 Message-ID: <7g2o5r$aa$6@news.vbrew.com> NNTP-Posting-Host: localhost X-Server-Date: 26 Apr 1999 22:08:59 GMT Body: Xref: news.vbrew.com es.pruebas:1 Esto es un mensaje de prueba, ign�relo libremente. . |
Si intenta descargar un art�culo desconocido el servidor le devolver� un mensaje con un c�digo de respuestas apropiado y quiz� un mensaje de texto legible:
article 4 423 Bad article number |
En esta secci�n hemos descrito c�mo se usan las �rdenes NNTP m�s importantes. Si est� interesado en desarrollar software que implemente el protocolo NNTP, deber�a acudir a los documentos RFC relevantes; ellos le proporcionar�n informaci�n al detalle que aqu� no podemos incluir.
Veamos ahora a NNTP en acci�n mediante el servidor nntpd.
[1] | leafnode se encuentra disponible por FTP an�nimo en wpxx02.toxi.uni-wuerzburg.de en el directorio /pub/. |