错误:未经授权的Python脚本到IBM Watson视觉识别

2024-09-30 08:25:37 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试图获取IBM视觉识别服务的输出,但是总是得到相同的错误:{"code":401, "error": "Unauthorized"}

如果我用cURL试试就行了:

$ curl -X POST -u "apikey: ------------" -F "images_file=@bobross.jpg" "https://gateway.watsonplatform.net/visual-recognition/api/v3/detect_faces?version=2018-03-19"
{ facerecognition data }

到目前为止我的python代码:

^{pr2}$

我尝试用其他变体编写代码,但总是导致“未经授权”。 顺便说一句,我对python的经验很少,我还在努力学习。在


Tags: 代码错误codeerror视觉curlpostibm
1条回答
网友
1楼 · 发布于 2024-09-30 08:25:37

在curl示例中,使用-u标志传递身份验证,而在python中,则按原样在头中传递身份验证。服务器忽略了头中的身份验证,您将被返回401。在

为了使工作更简单,我们可以使用 auth=('apikey', '[An API Key]')作为命名参数。在

还值得从头中删除Content-Type: FaceCharacteristics,但不太确定这是从哪里提取的。在

import requests

url = 'https://gateway.watsonplatform.net/visual-recognition/api/v3/classify?version=2018-03-19'
files = {'images_file': open('fruitbowl.jpg','rb')}
resp = requests.post(url, auth=('apikey', '[An API Key]'), files=files)

print(resp.content)

最后添加文件,你应该都设置好了。在

More info on requests here


但是如果您要做的不仅仅是这个。。在

您可能想看看Python SDK that IBM provides。 它有更多可以使用的文档和示例代码。在

例如,这是提供的。在

^{pr2}$

相关问题 更多 >

    热门问题