Python 克拉里菲:“我不知道。”;格式错误或无效的请求”;

Python 克拉里菲:“我不知道。”;格式错误或无效的请求”;,python,clarifai,Python,Clarifai,我有以下Python代码向Clarifai的人口统计端点发出POST请求: import requests import pprint headers = { "Authorization": "Key MY_KEY", "Content-Type": "application/json" } data = {"inputs": [{"data": {"image": {"url": "https://samples.clarifai.com/demographics.jpg

我有以下Python代码向Clarifai的人口统计端点发出POST请求:

import requests
import pprint

headers = {
    "Authorization": "Key MY_KEY",
    "Content-Type": "application/json"
}

data = {"inputs": [{"data": {"image": {"url": "https://samples.clarifai.com/demographics.jpg"}}}]}

proxies = {
    "http": "MY_HTTP_PROXY", 
    "https": "MY_HTTPS_PROXY"
}

response = requests.post('https://api.clarifai.com/v2/models/c0c0ac362b03416da06ab3fa36fb58e3/outputs', headers=headers, data=data, proxies=proxies, verify=False)

pprint.pprint(response.json())
注意,我已经分别用我的\u密钥、我的\u HTTP\u代理和我的\u HTTPS\u代理替换了我的真实api密钥和代理


有没有人知道我做错了什么?我在Clarifai自己的论坛上看到了一个代码,但我看不出工作代码和我的有什么主要区别

需要在数据变量周围加引号

'data = {"inputs": [{"data": {"image": {"url": "https://samples.clarifai.com/demographics.jpg"}}}]}'

只需将传递的数据转换为json即可

import requests
import pprint
import json

headers = {
    "Authorization": "Key MY_KEY",
    "Content-Type": "application/json"
}

data = {"inputs": [{"data": {"image": {"url": "https://samples.clarifai.com/demographics.jpg"}}}]}

json_data = json.dumps(data)

proxies = {
    "http": "MY_HTTP_PROXY", 
    "https": "MY_HTTPS_PROXY"
}

response = requests.post('https://api.clarifai.com/v2/models/c0c0ac362b03416da06ab3fa36fb58e3/outputs', headers=headers, data=json_data, proxies=proxies, verify=False)

pprint.pprint(response.json())

data
是包含POST有效负载的变量。它必须是带引号的赋值。你能在这里发布完整的错误输出吗?这应该会有帮助。