我正在执行使用Python请求库上传文件的简单任务。我搜索了Stack Overflow,似乎没有人有同样的问题,即文件没有被服务器接收到:
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.
只有当文件为空时才会出现。所以我不知道如何成功地发送我的文件。我知道这个文件是有效的,因为如果我去这个网站,手动填写表单,它会返回一个匹配对象的列表,这就是我想要的。我很感激所有的提示。
其他一些相关的话题(但没有回答我的问题):
从Python脚本中使用POST发送文件 http://docs.python-requests.org/en/latest/user/quickstart/#response-content 使用请求上传文件并发送额外数据 http://docs.python-requests.org/en/latest/user/advanced/#body-content-workflow