我正在尝试使用azure服务计算机视觉来分析python3.7的图像。尝试发出连接请求时,显示一个错误。 看起来我为httpsConnection提供的参数(url)是错误的,但是我不知道如何纠正它。你知道吗
问题出在API端点上。我给出的端点是正确的,但是参数要求整数值(这就是我所理解的)。你知道吗
def analyze_image(data):
try:
conn = http.client.HTTPSConnection('https://xxx.cognitiveservices.azure.com/')
conn.request("POST", "/vision/v1.0/analyze?%s" % params, str(data), headers)
response = conn.getresponse()
data = response.read()
print(str(data))
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
return data
错误:
Traceback (most recent call last):
File "C:\Users\Rupali Singh\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 887, in _get_hostport
port = int(host[i+1:])
ValueError: invalid literal for int() with base 10: '//rupali.cognitiveservices.azure.com/'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/Rupali Singh/PycharmProjects/Drishti/ms_visionapi.py", line 44, in analyze_image
conn = http.client.HTTPSConnection('https://rupali.cognitiveservices.azure.com/')
File "C:\Users\Rupali Singh\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1373, in __init__
blocksize=blocksize)
File "C:\Users\Rupali Singh\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 851, in __init__
(self.host, self.port) = self._get_hostport(host, port)
File "C:\Users\Rupali Singh\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 892, in _get_hostport
raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
http.client.InvalidURL: nonnumeric port: '//rupali.cognitiveservices.azure.com/'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/Rupali Singh/PycharmProjects/Drishti/ms_visionapi.py", line 85, in <module>
data = analyze_image(img)
File "C:/Users/Rupali Singh/PycharmProjects/Drishti/ms_visionapi.py", line 51, in analyze_image
print("[Errno {0}] {1}".format(e.errno, e.strerror))
AttributeError: 'InvalidURL' object has no attribute 'errno'
Process finished with exit code 1
您应该使用不带
https://
部分的主机名。你知道吗但是http模块非常笨拙,有时会给您提供毫无帮助的错误消息。相反,我建议使用官方的python客户端for microsoftazure认知服务Computer Vision客户端库for python。你知道吗
https://pypi.org/project/azure-cognitiveservices-vision-computervision/
如果不想使用该库,或者不想连接到其他HTTPAPI,请使用requests。你知道吗
相关问题 更多 >
编程相关推荐