我正在尝试在python中表示以下curl语句:
curl --data-binary @sample.png --data project = 23423233 -H 'X-API-KEY: YOUR API KEY, User-Agent: AppName (name@example.com)' https://files.proofhub.com/files/upload
我已经完成了多个post&get请求,但是由于此请求使用data选项,所以我无法理解如何使用请求执行此请求。
我将发布当前代码:
data = open(r"C:\Users\dlogan.CLEARDATA\Desktop\ProofHub Upload\test.txt",'rb')
create_headers = {'X-API-KEY': '', 'Content-Type': 'application/json', 'User-Agent': '@cleardata.co.uk'}
r = requests.post('https://cleardata.proofhub.com/files/upload', data=data, headers=create_headers)
有人知道我将如何添加文件吗?
答案 0 :(得分:2)
问题似乎是您在网址末尾缺少斜杠“ /”。如果没有结尾斜杠,服务器似乎将重定向到不存在的页面,并且您会收到404。
要解决此问题,只需添加一个斜杠:
requests.post('https://cleardata.proofhub.com/files/upload/', data=data, headers=create_headers)
# Add slash ^
答案 1 :(得分:1)
我认为您需要使用files
参数将文件作为表单数据发布。
files = {'file': open(r"C:\Users\dlogan.CLEARDATA\Desktop\ProofHub Upload\test.txt",'rb')
}
create_headers = {'X-API-KEY': '', 'Content-Type': 'application/json', 'User-Agent': '@cleardata.co.uk'}
r = requests.post('https://cleardata.proofhub.com/files/upload', files=files, headers=create_headers)
您需要正确设置文件名-我看不到邮寄表格,所以我不知道该怎么办。