🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #16787

Re: Ayuda del algun guru del Python ese o me paso al Perl :)

#16787
From: batsman batsman
Date: Wed, 22 Mar 2000 00:00
138 lines
7117 bytes
-----BEGIN PGP SIGNED MESSAGE-----

In article <slrn8dfrg7.79g.jajs@Pascual.es>, *puntero_loko wrote:
>Buenas, para estrenarme con el python he decidido hacer un programa para
>enviar mensajes  a m�viles a trav�s  de la p�gina de  terra. Lo primero,
>abr� la p�gina con el navegador,  desconect�, rellen� el formulario y el
>wwwoffle amablemente me escupi� esto:

Jeje, tiene gracia, precisamente hice esto el otro d�a en perl.
Lo hice el d�a 12 (justo antes de votar :-), y resulta que a los 10 d�as los
muy &!%$&/!!! de terra han cambiado el "interfaz". Hasta me hab�a subido el
cgi a sourceforge para enviar los mensajitos desde cualquier sitio. Tambi�n
divid�a los mensajes en trozos y los enviaba uno a uno, con control de
errores, etc. Pero resulta que desde hoy (ayer?) ya no rula (explicaci�n
abajo).

>-------------------------------------------------------------------------
>POST http://www.terra.es/sms/envio.cfm HTTP/1.0
>Referer: http://www.terra.es/sms/
>Connection: close
>User-Agent: Mozilla/4.7 [en] (X11; I; Linux 2.2.15pre13 i586; Nav)
>Host: www.terra.es
>Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
>Accept-Encoding: gzip
>Accept-Language: en
>Accept-Charset: iso-8859-1,*,utf-8
>Content-type: application/x-www-form-urlencoded
>Content-length: 109
>Proxy-Connection: close
>
>telefono=999999999&fecha=%7Bts+%272000-03-21+16%3A45%3A26%27%7D&mensaje=Prueba
+de+mensaje+para+terra
>-------------------------------------------------------------------------
>
>La cadena una vez urldecodificada viene a decir:
>
>telefono=9999999&fecha={ts '2000-03-21 16:45:27'}&mensaje=Prueba de mensaje
>para terra

 [ CODIGO EN PYTHON ]

>Pues   bien,    no   rula.   Se    conecta   a   la    p�gina   indicada
>pero   ni  post   ni   leches,   me  escupe   la   p�gina  por   defecto
>http://www.terra.es/sms/portada.cfm  como si  hubiera hecho  un GET,  en
>lugar de darme una de las p�ginas de  respuesta (si ha ido bien o mal el
>envio del  mensaje) como sucederia  si hubiera seguido  el procedimiento
>normal con el navegador. Y por supuesto el mensaje no lo env�a.

A ver, lo que pasa es que los de terra tambi�n te meten cookies, con
Set-Cookie o algo as� en su respuesta HTTP. Despu�s cuando env�es el
mensaje, deber�s poner Cookies: ... en la cabecera HTTP.
En particular, hace una semana esto funcionaba:

POST /sms/envio.cfm HTTP/1.0
Referer: http://www.terra.es/sms/
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.03 [en] (X11; I; Linux 2.2.13 i586)
Host: www.terra.es
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: TERRASMS_MINUTO=%7Bts+%272000%2D03%2D11+17%3A41%3A42%27%7D; TERRASMS_HO
RA=%7Bts+%272000%2D03%2D11+17%3A41%3A42%27%7D%7C1
Content-type: application/x-www-form-urlencoded
Content-length: 103

telefono=999999999&fecha=%7Bts+%272000-03-11+17%3A46%3A12%27%7D&mensaje=Testing
%2C+one%2C+two%2C+three.

F�jate en la l�nea
Cookie: TERRASMS_MINUTO=%7Bts+%272000%2D03%2D11+17%3A41%3A42%27%7D; TERRASMS_HO
RA=%7Bts+%272000%2D03%2D11+17%3A41%3A42%27%7D%7C1

El truco est� en que en el cookie indicas una hora ANTERIOR a la indicada en
el campo fecha de los datos del POST.

Desde hoy (ayer?) la cosa ha cambiado, y ahora lo que hay que enviar se
parece a 

POST /sms/envio.cfm HTTP/1.0
Referer: http://www.terra.es/sms/portada.cfm
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.03 [en] (X11; I; Linux 2.2.13 i586)
Host: www.terra.es
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: TERRASMS_MINUTO=%7Bts+%272000%2D03%2D11+17%3A46%3A12%27%7D; TERRASMS_HO
RA=%7Bts+%272000%2D03%2D11+17%3A41%3A42%27%7D%7C2; TERRA_EMC_HORA=%3C1ZJ47QY%29
%5FPGC%2D%2544M%245K%225%5BI%23%3C%24%2C%24%3CSQW%28%2EJPP++%0A; TERRA_EMC_MIN
UTO=%3A1ZJ47QY%29%5FPGC%2D%2544M%245K%225%5BI%23%3C%24%2C%24%3CSQW%28%2C+%0A
Content-type: application/x-www-form-urlencoded
Content-length: 86

telefono=999999999&fecha=%7Bts+%272000-03-22+20%3A26%3A38%27%7D&mensaje=Prueba
+%3A-%29

Los de Terra han a�adido dos cookies, TERRA_EMC_HORA y TERRA_EMC_MIN, que
todav�a estoy descifrando. Cuando los descodificamos (est�n en base 64) son
una ristra de cifras y letras sin sentido, parece que representan la fecha
codificada (mediante una funci�n hash, one-way, desconocida) para comprobar
que es la misma que estamos indicando en los cookies TERRASMS_MINUTO y
TERRASMS_HORA. 

As� que si alguien tiene tiempo para ver qu� representan...

Por cierto, la idea es NO TENER que bajarse la p�gina original para obtener
los cookies, sino inventarlos. As� ganamos velocidad y de paso evitamos la
restricci�n de 1 mensaje por minuto, 10 por hora. De hecho, con mi programa
anterior, hice pruebas enviando mensajes ENORMES (noticias de slashdot). Por
ejemplo, envi� esa noticia que anunciaba en n�cleo 2.3.51 (era ese, �no?),
mi script lo dividi� en 11 (!!!) mensajes, y me llegaron todos en orden.

- -- 
              _           _                             
             | |__   __ _| |_ ___ _ __ ___   __ _ _ __  
             | '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \ 
             | |_) | (_| | |_\__ \ | | | | | (_| | | | |
             |_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_|
  ________________________________________________________________
 |Visit   |  http://www.geocities.com/SiliconValley/Vista/2075    |
 |Linux   |  http://www.geocities.com/SiliconValley/Vista/4289    |
  ----------------------------------------------------------------
  Real email: batsman dot geo at yahoo dot com

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv
Comment: Public key via email: send mail with Subject: [PGPKEY]

iQEVAwUBONlBc70Y27yr0iefAQEOcAf/edlkgewGur5cARaW/m/nlxLPnWZVu9aM
gK2V9ForxBzGqan/cJfeJ9fdSjGJpMEOk7CxrkDyp7Y3ZVTGQcgCKxJAHCxKcDko
lTH1vaHoPEOS4QuiAbLh4HFok42i7gSsLuXI9B8YR9JwkaVp8Wo4iM+7IFDtmfcE
XcInKEMFUxgCdkyiQIL5XrqmCibN+BN3+fANHbByl3ePFb7fUS1uTMTMETfWScs6
7Yzc6DjT96K/XykT3AZduOxA0ePZIy7T5LpAdHgjHBHGNQnrHPB/TNJ39w4XsEA4
7Rt+BZaWGH6/7dHzdOA7DrWO9GyV/TtWbuVOc9LdKQjmy2lkUCX6Ig==
=YO72
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <uhfbb8.1h1.ln@simpsons4ever>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <slrn8dfrg7.79g.jajs@Pascual.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,fcc95392be363063
X-Google-Attributes: gidf86c8,public
From: batsman@simpsons4ever. (batsman)
Subject: Re: Ayuda del algun guru del Python ese o me paso al Perl :)
Date: 2000/03/22
Message-ID: <uhfbb8.1h1.ln@simpsons4ever>
X-Deja-AN: 601028936
Content-Transfer-Encoding: 8bit
References: <slrn8dfrg7.79g.jajs@Pascual.es>
Content-Type: text/plain; charset=iso-8859-1
X-Complaints-To: abuse@news.wanadoo.es
X-Trace: m2newsread.uni2.es 953761401 62.36.25.70 (Wed, 22 Mar 2000 22:43:21 MET)
Organization: Wanadoo Usenet News - Visita http://www.wanadoo.es/
Mime-Version: 1.0
Reply-To: see_signature-mira_firma
NNTP-Posting-Date: Wed, 22 Mar 2000 22:43:21 MET
Newsgroups: es.comp.os.linux.programacion