2017 Sep 14 4:54 PM - last edited on 2024 Feb 04 2:09 AM by postmig_api_4
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",
2017 Sep 18 12:29 PM
Hi Auro,
If you get rid of the 'Content-Type':'multipart/form-data' in the header it should work:
import requests
url = "https://sandbox.api.sap.com/ml/prodimgclassifier/inference_sync"
headers = {'APIKey': <your_API_key>, 'Accept': 'application/json'}
files = {'files': open('desert.jpg', 'rb')}
response = requests.post(url, files=files, headers=headers)
print(response.text)
2017 Sep 18 12:29 PM
Hi Auro,
If you get rid of the 'Content-Type':'multipart/form-data' in the header it should work:
import requests
url = "https://sandbox.api.sap.com/ml/prodimgclassifier/inference_sync"
headers = {'APIKey': <your_API_key>, 'Accept': 'application/json'}
files = {'files': open('desert.jpg', 'rb')}
response = requests.post(url, files=files, headers=headers)
print(response.text)
2017 Sep 21 5:48 AM