Programa para comprobar el estado de la devolución de la renta
#!/usr/bin/python2.1 """ Programa para comprobar el estado de la devolución del irpf'2002 Hay que configurar, al menos, las variables: NIF, EUROS y CENTS para que funcione. Además, opcionalmente, configurar FROM, SERVIDORSMTP, si deseamos que el resultado devuelto por el servidor se nos envíe por correo electrónico a donde queramos. Si dejamos estas variables sin configurar, se guardará el resultado devuelto por el servidor en un fichero llamado irpf.html """ import urllib2,re ################### CAMBIAR AQUÍ, SI QUIERE CONFIGURAR EL PROGRAMA ######## # Datos para identificar la declaración. Obligatorio ponerlos. # Cuidado, en la página web han decidido separar euros y céntimos. NIF='' EUROS='' CENTS='' # Datos para configurar el envío del mensaje de correo. Opcionales. # Si se deja alguno de los datos vacío (sin configurar), no se enviará por # correo, sino que se se guardará el fichero irpf.html devuelto por el # servidor FROM = 'Que viene hacienda aeat@aeat.es' TO = '' SERVIDORSMTP = 'localhost' # A partir de aquí NO MODIFICAR sin conocimiento de lo que se hace ########################################################################## # La URL del POST URL='https://aeat.es/PROGCONV/CWBA/PROGLOGI/' # Los parámetros. if NIF=='': NIF=raw_input('NIF: ') if EUROS=='': EUROS=raw_input('EUROS (los céntimos luego) ') if CENTS=='': CENTS=raw_input('CENTIMOS (¿lo ven?) ') parametros='HID=DEVOLUGE&NIF='+NIF+'&IMP='+EUROS+'&IMD='+CENTS # Solicitamos los datos al servidor. f = urllib2.urlopen(URL, parametros) if ((FROM != '') and (TO != '') and (SERVIDORSMTP != '')): # Ahora construimos el mensaje de correo electrónico # Lamentablemente el https no funciona con mi python2.2 así que hay # Ahora construimos el mensaje de correo electrónico # Lamentablemente el https no funciona con mi python2.2 así que hay # que construirse el mensaje a mano, sin poder usar email, que es # nuevo en python2.2. import smtplib import MimeWriter import mimetools import time import StringIO import cStringIO fecha = time.asctime(time.localtime(time.time())) # Construcción del mensaje textoMensaje = cStringIO.StringIO(f.read()) mensaje = StringIO.StringIO() generador=MimeWriter.MimeWriter(mensaje) generador.addheader('From',FROM) generador.addheader('Subject',"Estado de la devolución") generador.addheader('Date',fecha) generador.addheader('MIME-Version:',' 1.0\n') generador.startmultipartbody("mixed") parte = generador.nextpart() tipo="text/html" codificacion = "none" parte.addheader("Content-transfer-encoding","base64") codificacion = "none" parte.addheader("Content-transfer-encoding","base64") pout = parte.startbody(tipo,URL,''
) mimetools.encode(textoMensaje,pout,'base64') generador.lastpart() fromaddr = FROM toaddrs = TO server = smtplib.SMTP() server.connect(SERVIDORSMTP) server.sendmail(fromaddr, toaddrs, mensaje.getvalue()) server.quit() else: fSal = open ('irpf.html', 'w') fSal.write(f.read())
< | Junio 2025 | |||||
Lu | Ma | Mi | Ju | Vi | Sa | Do |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |