Error al correr cgi en python

Andrés Ignacio Martínez Soto al084070 en alumail.uji.es
Lun Nov 6 19:05:31 CET 2006


Hola, tu problema es sencillo, y a mi me dio muchos dolores de cabeza:

print "Content-type: text/html\n\n"

Son 2 '\n' o creo que '\r\n' también funciona.
De todas maneras considera ésta función que te puedes hacer tu mismo:

def headers (MIME):
   return str("Content-type: "+str(MIME))

Saludos

pd: Prueba de que los CGI de Python funcionan... mi blog -> 
http://www.elpiso.info/martine o el de un amigo, 
http://www.elpiso.info/blog

vicente villaveces escribió:
Saludos.
      Agradecimiento a el Sr. aNgel rEsendiz g.  Para el momento de 
recibir el correo estaba haciendo algunas pruebas agregando algunas 
directivas al archivo http.conf el cual está ubicado en mi equipo en  
/etc/apache2
      Siguiendo sus indicaciones copié y pegué el archivo color.py en: 
/usr/lib/cgi-bin  lo ejecutè desde el naveador con: 
http://locallhost/cgi-bin/color.py y el navegador presentò el mensaje: 
 Internal Server error   Por lo que abrì el  archivo  
/var/log/apache2/error.log  para leer las causas del error,  las 
entradas correspondientes al error segùn la  hora de ocurrencia  son:
 
 Premature end of script headers: color.py
 File not existe: /var/www/faviscom.Ico.
 
 Editè el archivo color.py y busquè alguna informaciòn sobre codigo html 
y pude hacer algunas modificaciones, finalmente el archivo quedò asi:
 
 #!/usr/bin/python
 import cgi
 
 print "Content-Type: text/html\n"
 form=cgi.FieldStorage()
 color=form.getvalue('color')
 
 print '''<html><header><title>Seleccionar color</title></header><body>
 <form action="/cgi-bin/color.py" method="post">
 <input type="radio" name="color" value="black" checked>Negro<br>
 <input type="radio" name="color" value="red" checked>Rojo<br>
 <input type="radio" name="color" value="green" >green<br>
 <input type="submit" value="escojer">
 </form>'''
 if color:
     print '''<font> color=%s>"El color de este texto es: %s" 
</font>%(color,color)
 </body></html>'''
 
     Despuès de que corriò el cgi fuì eliminando una a una las 
directivas agregadas al archivo: http.cof  hasta producir el error 
nuevamente y lograr asì determinar cual directa era la requerida, el 
archivo quedò asi:
 
 # This is here for backwards compatability reasons and to support
 #  installing 3rd party modules directly via apxs2, rather than
 #  through the /etc/apache2/mods-{available,enabled} mechanism.
 #
 #LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
 LoadModule python_module /usr/lib/apache2/modules/mod_python.so
 
  <Directory /usr/lib/cgi-bin>
                Options +ExecCGI
         </Directory>
 
     Para finalizar nuevamente mi agradecimiento al señor aNgel rEsendiz 
g. , a la administraciòn de la lista y todos los usuarios listeros por 
permitir que se propague el conocimiento.
 
        
"aNgel rEsendiz g." <sonajadiabolica en gmail.com> escribió: Intenta 
nuevamente, pero con http://localhost/cgi-bin/color.py.

Otra cosa es que probablemente cambiaste algo en la configuración de
apache que no recuerdas.

Escribe en la terminal "ps ax", y busca una linea que sea algo así:
/usr/sbin/apache2
si no la encuentras, escribe "sudo /etc/init.d/apache2 start" y nos
dices que mensaje obtienes.

De hecho, si obtienes algún mensaje de error, para facilitar las
cosas, puedes hacer esto:

sudo apt-get remove --purge apache2
sudo rm -rf /etc/apache2/
sudo apt-get install apache2

Despues vuelve a intentar con http://localhost/cgi-bin/color.py

Saludos




        
---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es




Más información sobre la lista de distribución Python-es