如何使用Python requests复刻指定curl命令的功能
问题原因
你提交的请求结构和curl实际发送的结构不匹配:
- curl命令中
-F 'f:1=<-'的含义是:创建名为f:1的表单字段,将标准输入传入的内容作为该字段的文件内容上传 - 你之前的代码把字段拆成了
data里的f参数和单独的file文件字段,完全不符合服务端的参数要求,所以返回400错误
正确实现代码
import requests response = requests.post( url="http://ix.io", files={"f:1": ("", "Hello world.")} ) # 打印状态码和返回的上传结果链接 print(response.status_code) print(response.text.strip())
代码说明
files参数的键直接设置为表单字段名f:1,和curl的参数对应- 元组第一个元素为上传文件的文件名,这里不需要指定所以留空即可,第二个元素为要上传的文本内容
- 不需要额外传递
data参数
内容的提问来源于stack exchange,提问作者Asylum
相关产品推荐
相关产品推荐

