cUrl 到 python 转换 Clarifai
cUrl to python Conversion Clarifai
我试图访问 clarifai api,cURL 中的以下代码工作正常,
curl -X POST \
-H "Authorization: Key yyyyyyy" \
-H "Content-Type: application/json" \
-d '
{
"inputs": [
{
"data": {
"image": {
"base64": "'"$(base64 /Users/user/Documents/clariFai/test1.jpg)"'"
}
}
}
]
}'\
https://api.clarifai.com/v2/models/xxxxxxxxxx/outputs
我想和 python 一起使用,
我试过的是
import requests
headers = {
'Authorization': 'Key yyyyyyy',
'Content-Type': 'application/json',
}
data = ' { "inputs": [ { "data": { "image": { "base64": "$(base64 /Users/user/Documents/clariFai/test1.jpg)" } } } ] }'
response = requests.post('https://api.clarifai.com/v2/models/xxxxxxxxxx/outputs', headers=headers, data=data)
print(response.content)
但我得到的回复是
b'{"status":{"code":11102,"description":"Invalid request","details":"Malformed or invalid request"}}'
请帮我写出正确的语法。
您可以尝试使用此代码对图像进行 base64 编码并通过 requests
发送:
import base64
import requests
headers = {
"Authorization": "Key yyyyyyy",
"Content-Type": "application/json", # <-- maybe not necessary
}
encoded_file = base64.b64encode(open("/Users/user/Documents/clariFai/test1.jpg", "rb").read())
encoded_file = encoded_file.decode("utf-8") # <-- convert it to string
data = {
"inputs": [
{
"data": {
"image": {
"base64": encoded_file # <-- put base64 encoded file here
}
}
}
]
}
response = requests.post(
"https://api.clarifai.com/v2/models/xxxxxxxxxx/outputs",
headers=headers,
json=data, # <-- use json= parameter
)
print(response.content)
编辑:将 encoded_file
转换为字符串。
我试图访问 clarifai api,cURL 中的以下代码工作正常,
curl -X POST \
-H "Authorization: Key yyyyyyy" \
-H "Content-Type: application/json" \
-d '
{
"inputs": [
{
"data": {
"image": {
"base64": "'"$(base64 /Users/user/Documents/clariFai/test1.jpg)"'"
}
}
}
]
}'\
https://api.clarifai.com/v2/models/xxxxxxxxxx/outputs
我想和 python 一起使用,
我试过的是
import requests
headers = {
'Authorization': 'Key yyyyyyy',
'Content-Type': 'application/json',
}
data = ' { "inputs": [ { "data": { "image": { "base64": "$(base64 /Users/user/Documents/clariFai/test1.jpg)" } } } ] }'
response = requests.post('https://api.clarifai.com/v2/models/xxxxxxxxxx/outputs', headers=headers, data=data)
print(response.content)
但我得到的回复是
b'{"status":{"code":11102,"description":"Invalid request","details":"Malformed or invalid request"}}'
请帮我写出正确的语法。
您可以尝试使用此代码对图像进行 base64 编码并通过 requests
发送:
import base64
import requests
headers = {
"Authorization": "Key yyyyyyy",
"Content-Type": "application/json", # <-- maybe not necessary
}
encoded_file = base64.b64encode(open("/Users/user/Documents/clariFai/test1.jpg", "rb").read())
encoded_file = encoded_file.decode("utf-8") # <-- convert it to string
data = {
"inputs": [
{
"data": {
"image": {
"base64": encoded_file # <-- put base64 encoded file here
}
}
}
]
}
response = requests.post(
"https://api.clarifai.com/v2/models/xxxxxxxxxx/outputs",
headers=headers,
json=data, # <-- use json= parameter
)
print(response.content)
编辑:将 encoded_file
转换为字符串。