将带有image的Python请求转换为cURL

时间:2017-11-06 20:56:25

标签: java python file curl python-requests

我找到了这个API请求示例。不幸的是,我没有找到任何其他示例如何将图像上传到API。 由于我不熟悉Python,我试图了解如何在cURL命令中执行相同操作。

import requests

auth_headers = {
    'app_id': 'your_app_id',
    'app_key': 'your_app_key'
}

url = 'https://XXXXXXX'
files = {
    'source': open('media/test.jpg')
}
data = {
    'timeout': 60
}
response = requests.post(url, files=files, data=data, headers=auth_headers)

我尝试通过尝试将cURL转换为python转换器来转换它,但我不知道如何使用这些文件构建它。

最后我想在JAVA中做请求,但我想如果我知道cURL中的请求,我可以弄明白。

希望有人能帮助我。

1 个答案:

答案 0 :(得分:1)

这样做:

#!/bin/bash
args=(
    -H 'app_id: your_app_id'
    -H 'app_key: your_app_key'
    -F 'source=@/path/to/file'
    -F 'timeout=60'
    'http://httpbin.org/post'
)
curl "${args[@]}"

或者,作为一个单行:

curl -H 'app_id: your_app_id' -H 'app_key: your_app_key' -F 'source=@/path/to/file' -F 'timeout=60' 'http://httpbin.org/post'

使用-H指定标题字段(对每个字段重复)和-F指定表单字段 - 可以是key=value对,也可以是filename=@path对。使用-F时,POST方法是默认值,Content-Typemultipart/form-data(但也可以覆盖)。