卷曲到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)