我使用的是使用python + requests的Microsoft Emotion API
使用以下代码我总是收到400错误 -
“表示JSON解析错误,无法正确解析faceRectangles,或者计数超过64,或者无法识别内容类型。”
import requests
n = int(raw_input())
url = "https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize"
headers = {"Content-Type": "application/json", "Ocp-Apim-Subscription-Key": "xxxxxxxxxxxxxxxxxxxxxxxx"}
while n>0:
str = raw_input()
body = '''{ "url": "''' + str + '''" }'''
r = requests.post(url, data = body,headers = headers)
print(r.status_code)
if r.status_code == 200:
print(r.content)
n = n-1
和输入
1
http://i.imgur.com/ytsbJBy.jpg
答案 0 :(得分:0)
我尝试重现您的问题,但因为您的代码在我的环境中正常运行而失败。我本地的requests
版本为2.13.0
。请通过Postman
手动调用Emotion API,以确保不是由Azure Cognitive Service引起的问题,并通过命令requests
检查pip freeze
版本是否旧版。
与此同时,我建议重写下面的代码body = '''{ "url": "''' + str + '''" }'''
,以便更加人性化。
body = "{'url': '%s'}" % str
或
body = "{{'url': '{0}'}}".format(str)
如有任何疑问或更新,请随时告诉我们。