我是Python和Microsoft认知服务的新手 . 我正在尝试一个计算机视觉API的例子,我试图POST一个图像的URL进行分析,以下是我的代码 -
import http.client, urllib.request, urllib.parse, urllib.error, base64
MICROSOFT_CV_SUBSCRIPTION_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
headers = {
# Request headers
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': MICROSOFT_CV_SUBSCRIPTION_KEY,
}
params = urllib.parse.urlencode({
'visualFeatures': 'Categories,Adult,Faces,Description,ImageType',
'details': 'Celebrities',
'language': 'en',
})
data = {
'url':'http://img.wennermedia.com/article-leads-vertical-300/1250530894_brad_pitt_290x402.jpg',
}
try:
conn = http.client.HTTPSConnection('api.projectoxford.ai')
conn.request("POST", "/vision/v1.0/analyze?%s" % params, data, headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
但我每次都得到以下例外 . 有人可以帮忙吗?
TypeError:不可用类型:'slice'第23行,在conn.request(“POST”,“/ vision / v1.0 / analyze?%s”%params,data,headers)中
TypeError:需要类似字节的对象,而不是'str'
在处理上述异常期间,发生了另一个异常:
回溯(最近一次调用最后一次):文件“D:/ Users / aa / PycharmProjects / untitled / Demo2 / ComputerVisionAPIDemo”,第29行,打印(“[Errno {0}] {1}” . 格式(e.errno, e.strerror))AttributeError:'TypeError'对象没有属性'errno'
1 回答
身体需要正确的字符串化: