enviar fichero por post

Ernesto Revilla erny en sicem.biz
Lun Jun 28 15:11:13 CEST 2004


Hola,
si te da error de argumentos no correctos, puede ser por varias razones:

* el nombre del campo que tú mandas  no se llama exáctamente cómo tu le 
dices. Por ejmplo, a lo mejor el campo no se llama 'filename', sino 
fichero, o lo que sea. Abre el código fuente y mira el nombre del campo 
para indicar el archivo, miralo con la información de página del mozilla 
(que indica muy bien todos los campos del formulario) o mándanos la 
referencia al servidor Web.

* no indicas el value del submit. Si hay varios botones submit, los 
servidores suelen distinguirlo por el 'value'. De nuevo, mira el código 
fuente de la página.

* efectivamente, algo no está bien con el archivo que mandas (que me 
parece menos probable, el servidor diría algo como el archivo no está 
bien, no que un parámentro es incorrecto). En ese caso, podrías usar 
ClienteForm que te he referenciado antes, ese módulo tiene que funcionar 
seguro.

* lo que también puede ser, es que si trabajas con un servidor de correo 
o cualquier otro paquete que requiere sesiones. Entonces tienes que 
recuperar la cookie de inicio de sesión, y proporcionarla en cada nueva 
llamada al servidor (en las cabeceras). Si no, el servidor te debería 
decir que no estás autorizado.

Saludos, Erny


Carlos Tabasco Guzmán escribió:

>Muchas gracias,
>
>El modulo que me has recomendado esta muy bien, pero para mi caso no me
>sirve, tus recetas tambien me han sido utiles, pero no consigo me funcione
>correctamente:
>
>--boundary1
>  
>
>>Content-Disposition: form-data; name=Nombrearchivo.xml
>>Content-Type: text/xml 
>>
>>Aquí viene el archivo....
>>.....
>>
>>--boundary1--
>>    
>>
>
>
>Como le mandas este bloque como ultimo parametro , lo he intentado de varias
>formas y no consigo que lo haga bien, me estoy comunicando con una maquina
>a la que no tengo acceso y me devuelve un mensaje de argumentos incorrectos
>con la solucion de tu receta.
>
>Muchas gracias
>
>  
>
>>-- Mensaje original --
>>Date: Mon, 21 Jun 2004 14:45:42 +0200
>>From: Ernesto Revilla <erny en sicem.biz>
>>To: La lista de python en castellano <python-es en aditel.org>
>>Subject: Re: [Python-es] enviar fichero por post
>>Reply-To: La lista de python en castellano <python-es en aditel.org>
>>
>>
>>Acabo de redactar una receta[1] con código sacado de algún proyecto, 
>>pero me parece mucho más interesante que uses ClientForm[2], un paquete
>>    
>>
>
>  
>
>>muy completo y mucho más fácil de usar.
>>
>>En mi receta, mira lo que devuelve HTTPopen que devuelve una tupla con
>>    
>>
>
>  
>
>>los resultados de la solicitud: (response.status, response.reason, data,
>>
>>responseheaders)
>>
>>
>>[1] http://www.sicem.biz/personal/erny/python/recetaMandarPostAPaginaWeb
>>[2] http://wwwsearch.sourceforge.net
>>
>>
>>Respecto a tu mensaje, creo que las cabeceras no están bien, deberían 
>>ser algo como:
>>Content-type: multipart/form-data; boundary=boundary1
>>
>>y la parte para mandar un archivo es algo como:
>>
>>--boundary1
>>
>>Content-Disposition: form-data; name=Nombrearchivo.xml
>>Content-Type: text/xml 
>>
>>Aquí viene el archivo....
>>.....
>>
>>--boundary1--
>>
>>Erny
>>
>>
>>
>>    
>>
>
>  
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es
>  
>

------------ próxima parte ------------
_______________________________________________
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