При использовании оболочки я могу успешно создать нового пользователя, выполнив
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, который останавливает создание пользователя?
Я думаю, что использование json = data будет работать, но я, наконец, успешно использовал json dumps: data = json.dumps(data)
Я сравниваю дату публикации с 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)
json = data
, может быть, это может помочь вам