Python - пост-запрос завершается неудачно при использовании запросов - PullRequest
0 голосов
/ 28 сентября 2018

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

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, который мешает пользователю создать?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

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

0 голосов
/ 28 сентября 2018

Я сравниваю дату публикации с 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)
...