Here's my NON-WORKING version using Python library requests.
import requests import json import logging try: import http.client as http_client except ImportError: # Python 2 import httplib as http_client http_client.HTTPConnection.debuglevel = 1 # You must initialize logging, otherwise you'll not see debug output. logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True headers = {'APIKey': 'your API Key', 'Accept': 'application/json', 'Content-Type': 'multipart/form-data'} params = {'files' : 'Desert.jpeg'} data = {'files' : 'Desert.jpg'} # url encoded # data = json.dumps(data) # flat files = {'files' : open('Desert.jpg', 'rb')} r = requests.post("https://sandbox.api.sap.com/ml/prodimgclassifier/inference_sync", # params=params, # data=data, headers=headers, files=files) print('\n------------------\n') print(r.text)
Response is:
"error_description": "This service requires at least 1 file. Please put your file(s) into the `fil
es` field of the POST request",