Sto eseguendo una semplice operazione di caricamento di un file utilizzando la libreria di richieste Python. Ho cercato Stack Overflow e nessuno sembrava avere lo stesso problema, vale a dire che il file non viene ricevuto dal server:
import requests
url='http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post'
files={'files': open('file.txt','rb')}
values={'upload_file' : 'file.txt' , 'DB':'photcat' , 'OUT':'csv' , 'SHORT':'short'}
r=requests.post(url,files=files,data=values)
Sto riempiendo il valore della parola chiave 'upload_file' con il mio nome file, perché se lo lascio vuoto, dice
Error - You must select a file to upload!
E ora capisco
File file.txt of size bytes is uploaded successfully!
Query service results: There were 0 lines.
Che viene visualizzato solo se il file è vuoto. Quindi sono bloccato su come inviare il mio file con successo. So che il file funziona perché se vado su questo sito e compilo manualmente il modulo restituisce una bella lista di oggetti abbinati, che è quello che sto cercando. Apprezzerei davvero tutti i suggerimenti.
Alcuni altri thread correlati (ma non rispondono al mio problema):