Estoy realizando una tarea simple de cargar un archivo usando la biblioteca de solicitudes de Python. Busqué Stack Overflow y nadie parecía tener el mismo problema, es decir, que el servidor no recibe el archivo:
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)
Estoy completando el valor de la palabra clave 'upload_file' con mi nombre de archivo, porque si lo dejo en blanco, dice
Error - You must select a file to upload!
Y ahora tengo
File file.txt of size bytes is uploaded successfully!
Query service results: There were 0 lines.
Que aparece solo si el archivo está vacío. Así que estoy atascado en cuanto a cómo enviar mi archivo correctamente. Sé que el archivo funciona porque si voy a este sitio web y completo manualmente el formulario, devuelve una buena lista de objetos coincidentes, que es lo que busco. Realmente agradecería todas las pistas.
Algunos otros hilos relacionados (pero no responden a mi problema):