我制作了一个小程序来测试Microsoft Cognitive Service,但它总是返回
{
"code":"InternalServerError",
"requestId":"6d6dd4ec-9840-4db3-9849-a6497094fa4c",
"message":"Internal server error."
}
我使用的代码是:
#!/usr/bin/env python
import httplib, urllib, base64
headers = {
# Request headers
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': '53403359628e420ab85a516a79ba1bd0',
}
params = urllib.urlencode({
# Request parameters
'visualFeatures': 'Categories,Tags,Adult,Description,Faces',
'details': '{string}',
})
try:
conn = httplib.HTTPSConnection('api.projectoxford.ai')
conn.request("POST", "/vision/v1.0/analyze?%s" % params,
'{"url":"http://static5.netshoes.net/Produtos/bola-umbro-neo-liga-futsal/28/D21-0232-028/D21-0232-028_zoom1.jpg?resize=54g:*"}', headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
我做错了什么或者它是一个普遍的服务器问题?
答案 0 :(得分:3)
问题出在 params 变量中。在定义要提取的视觉特征时,可以从图像中指定特定细节,如documentation中所述。 详细信息字段(如果使用)必须使用其中一个有效的字符串选项进行初始化(目前仅支持" Celebrities"选项,识别图像中的哪个名人)。在这种情况下,您使用字面上文档中记录的占位符初始化了详细信息字段(' {string'})。这导致系统发出内部错误。
要纠正这个问题,你应该尝试:
params = urllib.urlencode({
# Request parameters
'visualFeatures': 'Categories,Tags,Adult,Description,Faces',
'details': 'Celebrities',
})
(PS:已经向Microsoft Cognitive Services报告了这种行为。)