将Anonfiles上传文件的Curl命令转换为Python Requests实现
用Python Requests实现Anonfiles文件上传的正确方式
你的代码存在几个关键问题,修正后的正确实现如下:
正确代码示例
import requests # 以二进制模式打开文件,兼容所有文件类型 with open('file.txt', 'rb') as file_obj: # 使用POST请求,通过files参数传递文件 resp = requests.post('https://api.anonfiles.com/upload', files={'file': file_obj}) print(resp.text)
错误点说明
- 请求方法错误:Anonfiles的上传接口要求使用POST方法,
curl -F默认发起的就是POST请求,你之前误用了PUT方法 - 参数类型错误:上传文件需要通过
files参数构建multipart/form-data格式的请求,这和curl -F的作用完全匹配;你之前用的data参数仅适用于普通键值对表单,无法正确传递文件内容 - 文件读取方式错误:文本模式(
r)读取文件可能导致二进制文件损坏,二进制模式(rb)适用于所有类型的文件,能保证文件内容完整传输
内容的提问来源于stack exchange,提问作者Ethan Small
相关产品推荐
相关产品推荐

