【发布时间】:2019-05-14 11:43:47
【问题描述】:
我正在使用 Postman 发布数据,它工作正常。但是当我在 python 中转换它时,它无法读取我的文件。它在文件中给出空数据,我不知道出了什么问题。
这是python代码:
import requests
url = "http://localhost:63387/api/clientdetail"
payload = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; " \
"name=\"ip\"\r\n\r\n10.2.3.5\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; " \
"name=\"file\"; filename=\"D:\\data.json\"\r\n" \
"Content-Type: application/json\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--"
headers = {
'content-type': "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
'cache-control': "no-cache",
'Postman-Token': "adcea715-e97c-4374-80b7-30094e0861c3"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
我是从邮递员那里复制的。 在这里我传递了两个参数字符串和文件,所以字符串工作正常,但文件给出了 null。
当我使用邮递员这样做时,它给出的都是正确的
那么谁能帮帮我???
这里是邮递员 HTTP 代码
POST /api/clientdetail HTTP/1.1
Host: localhost:63387
cache-control: no-cache
Postman-Token: d614bdb0-eadd-4d29-9132-bc9443176082
Content-Type: multipart/form-data; boundary=----
WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="ip"
10.2.3.5
Content-Disposition: form-data; name="file"; filename="D:\data.json"
------WebKitFormBoundary7MA4YWxkTrZu0gW--
【问题讨论】:
-
您似乎在最后一个
response = requests.request("POST", url, data=payload, headers=headers) 之前的行尾缺少一个括号 -
您的
payload变量似乎也只存储一个字符串而不是一个文件。你是怎么想出这段代码的?你在遵循一些指南吗?如果是,请分享来源,以便我们检查 -
您确定方法是
POST而不是PUT?你得到哪个错误? -
我正在从邮递员 python 请求中复制这段代码
-
@reportgunner ,在这里复制粘贴它丢失但在我的python代码右括号在那里。