卷曲到Python POST请求的图片上传输入错误
问题描述:
我想这个转换curl命令:卷曲到Python POST请求的图片上传输入错误
curl -X POST -F "[email protected]" "https://gateway-a.watsonplatform.net/visual-recognition/api/v3/detect_faces?api_key={apikey}&version=2016-05-20"
到蟒蛇后请求。
在手册中使用this example但我仍然得到一个没有文件上传的错误。
url = {'https://gateway-a.watsonplatform.net/visual-recognition/api/v3/detect_faces'}
images= {'images_file': ('prez.jpg', open('prez.jpg', 'rb'))}
payload = {'api_key': {apikey}, 'version':'2016-05-20'}
r = requests.post(url, files = images, params = payload)
print(r.text)
下面是从沃森API返回:
{
"error": {
"code": 400,
"description": "No images were specified.",
"error_id": "input_error"
},
"images_processed": 1
}
我是否正确上传文件? curl命令工作正常,所以它可能不是图像,这是问题。
答
这应该符合你的卷曲请求。
url = 'https://gateway-a.watsonplatform.net/visual-recognition/api/v3/detect_faces'
images = {'images_file': open('prez.jpg', 'rb')}
payload = {'api_key': "{{{}}}".format(api_key), 'version': '2016-05-20'}
r = requests.post(url, files=images, params=payload)