-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Il 01/03/2012 16:37, Diego Barrera ha scritto: > Ciao a tutti, > devo fare l'upload di un file csv verso una pagina remota. > Utilizzando urllib e urllib2 riesco a spedire il file facendo: > > [code] > > data={'user_file':open('/home/diego/file_to_upload.csv','r').read()} > data = urllib.urlencode(data) > response=urllib2.urlopen(urllib2.Request(url_remota, data, headers)) > > [/code] > > Il problema e' che cosi' facendo invio si il contenuto del file, ma non > come vorrei: > infatti facendo una piccola pagina di prova in php: > > [code] > > echo "file=".$_FILES['user_file']."\n"; > echo "file=".$_POST['user_file']."\n"; > > [/code] > > il primo echo non restituisce niente, il secondo stampa il contenuto del > file. > > In sostanza vorrei inviare il file come se fosse stato fatto l'upload > con un form ed il campo file. > Penso di essermi spiegato a pene di labrador :)
Probabilmente PHP si aspetta i dati codificati in multipart/form-data. La libreria standard di Python purtroppo non offre nessuna funzione per fare questo. La soluzione è usare una libreria esterna (come già ti hanno suggerito), oppure scriverti a mano la funzione. Da una veloce ricerca su google: http://code.activestate.com/recipes/146306/ http://bugs.python.org/issue3244 Ciao Manlio -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9Pm+cACgkQscQJ24LbaUQtOgCeK2Lbp0WwiyLFnlMJLzq02X+3 D9AAnjnvslAJTPD6vULZA3C2DHR5pixC =TI/5 -----END PGP SIGNATURE----- _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python