Мне нужно отправить вложенный запрос. Вот пример dict:
data = {
"customer_id": "customer_1",
"time": get_timestamp(),
"data_1": ["1", "2"],
"data_2": ["6", "7"],
}
В списках может быть большее количество элементов и больше списков, это всего лишь пример. При отправке r = requests.post(url, data=data)
или r = requests.post(url, json=data)
или r = requests.post(url, data=json.dumps(data))
я получаю сообщение о том, что обязательных полей нет, и я проверил, что данные не были отправлены. Однако, если я отправлю его таким образом, он работает:
data = {
"customer_id": "customer_1",
"time": get_timestamp(),
"data_1[0]": "1",
"data_1[1]": "2",
"data_2[0]": "6",
"data_2[1]": "7"
}
Есть ли способ отправлять списки с помощью запросов без необходимости помещать каждый элемент как отдельный ключ?
Редактировать . Я забыл упомянуть, что мне тоже нужно отправлять файлы вместе. Сначала я не думал, что файлы могут быть проблемой, но они, конечно, могут (я хотел максимально упростить вопрос). Я добавляю файлы: files = {"files": open(path_to_file, "rb")}
и отправляю добавление files=files
в запрос POST. Таким образом, весь код будет выглядеть так:
url = ""
token = "token"
headers = {"Authorization": "Bearer " + token}
data = {
"customer_id": "customer_1",
"time": get_timestamp(),
"data_1": ["1", "2"],
"data_2": ["6", "7"],
}
path_to_file = "file.jpg"
files = {"files": open(path_to_file, "rb")}
r = requests.post(url, data=data, files=files, headers=headers, verify=False)
У меня есть спецификация почтальона для этого: