2016-12-02 42 views
0

我是Python和Microsoft認知服務的新手。 我想對計算機視覺的API,其中我想張貼分析圖像的URL和下面的一個例子是我的代碼 -在Python 3中使用Microsoft Cognitive Computer Vision API時收到TypeError

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)) 

但每次我得到了以下異常。有人可以幫忙嗎?

類型錯誤:unhashable類型: '切片' 線23,在 conn.request( 「POST」, 「/vision/v1.0/analyze?%s」 %PARAMS,數據,報頭)

類型錯誤:需要對類字節對象,而不是「STR」

在處理上述異常,另一個異常:

回溯(最後最近一次調用): 文件「d:/用戶/ AA /「PycharmProjects/untitled/Demo2/ComputerVisionAPIDemo」,第29行,在 print(「[Errno {0}] 。{1}」格式(e.errno,e.strerror)) AttributeError的: '類型錯誤' 對象沒有屬性 '錯誤號'

回答

1

身體需要適當字符串化:

conn.request("POST", "/vision/v1.0/analyze?%s" % params, str(data), headers) 
相關問題