【发布时间】:2020-05-21 20:42:11
【问题描述】:
下面的代码基本上是由 Postman 生成的。我已经从标题中删除了“Content-Type”,因为我知道这不是必需的。我还概括了 URL 路径等。但是我收到一条错误消息: b'{"Message":"发生错误。详细信息:将 MIME 多部分正文部分写入输出流时出错。"}'
但是,当我从 Postman 运行该请求时,它确实有效。我做错了什么?
import requests
url = "https://website.com/api/inputs/file/upload/Test/12/"
payload = {}
files = [
('', open('C:/Users/jmas/Documents/Demo/test.csv','rb'))
]
headers = {
'Authorization': 'Bearer 0eE6r7DWAIriN6gBR1-5WJI-
9ZsfgE13JEthzuSXKQ9A05sbt5xdn8cAcV3Sz16D4thYNBcr6dQGdIcivSOpo-
0dz7tAVP19trL2bwQtQez6FyzZqJFqPQrHm7fLee9eEr5GSpth0JfeqV5Gt7z_juqB3dHDBINu1oxh9G-
pF8VuSRpUkAOujSMS0RysE1aptVqU1wAXLTXnKxUlDJLpTuQMCQGnFwqNvUWx3mDQ9xh4pw-ZaKw8TMvWaYgtmd1Z-
oAp2IgvP9bwV5pv5izyuUWIfaZyP0mqYlZu2'
}
response = requests.request("POST", url, headers=headers, data = payload, files = files)
print(response.text.encode('utf8'))
print(response.status_code)
【问题讨论】:
-
如果重新添加内容类型会怎样?
-
如果我将 'Content-Type': 'application/x-www-form-urlencoded' 添加到标题中,然后我会返回 b'' 和状态代码 415(不支持的媒体类型)
标签: python api post python-requests postman