Я выполняю простую задачу загрузки файла с использованием библиотеки запросов Python. Я искал переполнение стека, и, похоже, ни у кого не было такой проблемы, а именно, что файл не получен сервером:
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)
Я заполняю значение ключевого слова upload_file своим именем файла, потому что если я оставлю это поле пустым, оно говорит
Error - You must select a file to upload!
И теперь я получаю
File file.txt of size bytes is uploaded successfully!
Query service results: There were 0 lines.
Который появляется, только если файл пуст. Поэтому я застрял в том, как успешно отправить мой файл. Я знаю, что файл работает, потому что, если я захожу на этот веб-сайт и вручную заполняю форму, он возвращает хороший список совпавших объектов, что мне и нужно. Буду очень признателен за все подсказки.
Некоторые другие связанные темы (но не отвечающие на мою проблему):