Хотел вызвать метод Post в моем существующем API, который отлично работает с PostMan, но теперь я хотел передать содержимое тела как тип файла.
Текущий, когда я добавил заголовки в запрос. после этого я получаю исключение 400 неверных запросов, но когда я удаляю заголовки, мне выдается 415 тип носителя, который я не могу понять. Может ли кто-нибудь помочь мне в этом.
Мой рабочий код упоминается здесь:
import os
import logging
import requests
from requests.auth import HTTPBasicAuth
config_directory = 'my-laptp-location\where-i-have\all-mt-files'
url = 'http://localhost:8080/api/v1/update'
usr = 'user'
passwd = 'pass'
for fileName in os.listdir(config_directory):
print('Processing file: ', fileName)
headers={'Content-type':'application/json', 'Accept':'application/json'}
abs_path = os.path.abspath(os.path.join(config_directory, fileName))
# files = {'file': (abs_path, open(abs_path, 'rb'), 'application/json', {'Expires': '0'})}
# I tried the above as well but It also throw media type exception
with open(abs_path, 'rb') as f:
r = requests.post(calling_url, files={abs_path: f}, auth=HTTPBasicAuth(usr,passwd),headers=headers)
print(r.status_code)
Мой файл, если я выполняю vi abs_path:
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
}
Это всего лишь простой JSON не массив без вложенности.