Я выполняю простую задачу по загрузке файла с использованием библиотеки запросов Python. Я искал переполнения стека, и никто, казалось, не имеют те же проблемы, а именно, что файл не будет получен сервером: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.
Который приходит, только если файл пуст. Поэтому я застрял в том, как успешно отправить файл. Я знаю, что файл работает, потому что, если я перехожу на этот сайт и вручную заполняю форму, он возвращает хороший список совпадающих объектов, и это то, что мне нужно. Я бы очень признателен за все намеки.
Некоторые другие темы, связанные (но не отвечает на мои проблемы):
- Send file using POST from a Python script
- http://docs.python-requests.org/en/latest/user/quickstart/#response-content
- Uploading files using requests and send extra data
- http://docs.python-requests.org/en/latest/user/advanced/#body-content-workflow