我正在使用Python请求模块,但无论我尝试上传图片,它都会成功,但是图片在打开/阅读时会出错。 我将图像编码为base64,设置内容类型标题(image / png,image / jpeg等...)等...
无论如何,我使用CURL执行以下操作并且它可以工作:
curl -u test@test.ca:test -H 'Content-Type: image/jpeg' --data-binary @test.jpeg -X POST 'https://test.test.com/api/upload.json?filename=test.jpeg'
与python(headers等等)中的请求模块的请求相当于什么?
答案 0 :(得分:1)
headers = {'Content-Type' : 'image/jpeg'}
params = {'filename' : 'test.jpg'}
r = requests.post("https://test.test.com/api/upload.json",
auth=('user','pw'), headers=headers, params=params)
答案 1 :(得分:1)
要重现curl
命令,您无需在base64中对图像进行编码:--data-binary @test.jpeg
curl选项按原样发送test.jpeg
文件:
import requests
r = requests.post('https://example.com/api/upload.json?filename=test.jpeg',
data=open('test.jpeg', 'rb'),
headers={'Content-Type': 'image/jpeg'},
auth=('test@test.ca', 'test')) # username, password