Python - пост-запрос завершается неудачно при использовании запросов

1

При использовании оболочки я могу успешно создать нового пользователя, выполнив

curl --user administrator:pasword "Content-Type: application/json" https://localhost:8080/midpoint/ws/rest/users -d @user.json

Однако, когда я пытаюсь сделать то же самое в python с помощью запросов, я получаю ответ 200 и не создается пользователь.

Это сценарий, который я использую:

import requests

headers = {
    'Content-Type': 'application/json',
}

data = open('user.json')
response = requests.post('https://localhost:8080/midpoint/ws/rest/users', headers=headers, data=data, auth=('Administrator', 'password'))
print(response)

Для меня они выглядят одинаково. Чем отличается запрос python, который останавливает создание пользователя?

  • 0
    администратор против администратора? пароль против пароля?
  • 0
    я думаю, что вам нужно проанализировать данные с json.loads ..
Показать ещё 2 комментария
Теги:
python-requests

2 ответа

0

Я думаю, что использование json = data будет работать, но я, наконец, успешно использовал json dumps: data = json.dumps(data)

0

Я сравниваю дату публикации с python requests curl и python requests И я нашел разницу.

CURL: {"user": "hero", "pd": 30}

Запросы: pd = 30 & user = hero

Тогда это мой тест.

import requests
import json
headers = {
    'Content-Type': 'application/json',
}

with open('user.json') as j:
    data = json.load(j)

response = requests.post('http://127.0.0.1:8080', 
                        headers=headers, 
                        json = data, 
                        auth=('Administrator', 'password'))
print(response.headers)
  • 0
    Спасибо за помощь. К сожалению, когда я пытаюсь описать вышеизложенное, я все равно получаю ответ 200 вместо 201, а пользователь не создается ...
  • 0
    @buffcat У меня есть изменения в json = data , может быть, это может помочь вам

Ещё вопросы

Сообщество Overcoder
Наверх
Меню