Curl可以工作,但是python请求无法上传图像

Curl可以工作,但是python请求无法上传图像,python,linux,curl,python-requests,http-post,Python,Linux,Curl,Python Requests,Http Post,可以顺利工作,但下面的python请求代码不会返回404 curl 'https://example.com/v2/' -F 'master=@test.jpg;type=image/JPEG' -H 'X-Generate-Renditions: all' -H 'X-Create-Asset-Sync: 1' -H 'Authorization: Bearer xyz' -H 'X-Read-Meta: none' 返回一个404 我做错了什么?您发送的文件没有正确的字段名。更改以下部分

可以顺利工作,但下面的python请求代码不会返回404

curl 'https://example.com/v2/' -F 'master=@test.jpg;type=image/JPEG' -H 'X-Generate-Renditions: all' -H 'X-Create-Asset-Sync: 1' -H 'Authorization: Bearer xyz' -H 'X-Read-Meta: none'
返回一个404


我做错了什么?

您发送的文件没有正确的字段名。更改以下部分

import requests

headers = {
    'X-Generate-Renditions': 'all',
    'X-Create-Asset-Sync': '1',
    'Authorization': 'Bearer xyz',
    'X-Read-Meta': 'none'
}

with open('test.jpg', 'rb') as f:
    response = requests.post('https://example.com/v2/', headers=headers, files={'test.jpg': f})
    print(response.status_code)


有关正确用法,请参阅。

仍然是404。有没有办法让我得到更多的信息?打开调试还是什么?奇怪,这是一个有文档记录的API吗?您可以启用登录
请求
,请参阅。它没有文档记录,但我认为我在传递授权承载令牌的方式上做了一些错误。但奇怪的是,它与
curl
一起工作。确保传递的参数完全相同。还可以尝试通过添加
用户代理
标题来伪装用户代理。
files={'test.jpg': f}
files={'master': ('test.jpg', f, 'image/JPEG')}