@solovey1

Как отправить json в POST запросе?

Всем привет!
Подскажите, пожалуйста, мне нужно отправить POST запрос такого вида(пример):
{
 "document": {
 "birthDate": "1989-11-19",
 "lastName": "Симонов",
 "firstName": "Владимир",
 "middleName": "Иванович"
 }


Написал код такого вида:
import requests
import json
    name =input("Введите Фамилию:")
    surname =input("Введите Имя:")
    middlename  =input("Введите Отчество:")
    birthday =input("Введите дату рождения(ГГГГ-ММ-ДД):")

    url = '*******'  
    headers = {'token': '*************'}
    data = {"document": {
    "birthDate": birthday,
    "lastName": surname,
    "firstName": name,
    "middleName": middlename}
    }
    r = requests.post(url, headers=headers, json=data)


Но при отправке запроса, почему-то вместо кириллицы в запросе уходить закодированный текст.
Введите Фамилию:Симонов
Введите Имя:Владимир
Введите Отчество:Иванович
Введите дату рождения(ГГГГ-ММ-ДД):1989-11-19
Симонов Владимир Иванович 1989-11-19
b'{"document": {"birthDate": "1989-11-19", "lastName": "\\u0412\\u043b\\u0430\\u0434\\u0438\\u043c\\u0438\\u0440", "firstName": "\\u0421\\u0438\\u043c\\u043e\\u043d\\u043e\\u0432", "middleName": "\\u0418\\u0432\\u0430\\u043d\\u043e\\u0432\\u0438\\u0447"}}'

Как можно решить эту проблему?
  • Вопрос задан
  • 239 просмотров
Пригласить эксперта
Ответы на вопрос 2
MinTnt
@MinTnt
Попробуй не,
json = data
а просто,
data = data

Если всё равно не получается, то в headers там вроде какой-то уточняющий тип получаемых данных параметр должен быть, по типу "Content-Type" = "application / json"
Ответ написан
Комментировать
@o5a
surname/lastname - фамилия
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы