Как я могу получить результат запросов .POST в Python? - PullRequest
0 голосов
/ 29 ноября 2018

Я новичок в Python и пытался смоделировать результат, полученный при тестировании запросов API POST в Postman.Я в основном пытаюсь получить токен, сгенерированный с помощью метода Post.

У меня есть следующие данные в Postman, который дает мне данные токена.

Вкладка авторизации: Тип: Базовая аутентификация, Имя пользователя , Пароль

Вкладка Заголовки: Тип содержимого : application / x-www-form-urlencoded, Авторизация: # Это автоматически заполнено

Вкладка "Тело" : raw: grant_type = client_credentials & scope = read_snfa_unifiedgateway

Теперь, когда я работаю с указанными выше подробностями в Postman, он даетЯ получаю токен в результате, но когда я использую те же данные, используя следующий код Python, я получаю только <Response [200]> в качестве результата для response variable.

import requests
url = 'https://appurl.com/oauth/ls/connect/token'
body = 'grant_type=client_credentials&scope=read_snfa_unifiedgateway'
response = requests.post(
        url,
        body, 
        auth=HTTPBasicAuth('my_username', 'my_password'), headers={'Content-Type': 'application/x-www-form-urlencoded'}
        )

Как я могу изменитьприведенный выше код Python таким образом, чтобы я мог получить результат в формате, который я получаю в Postman, как показано ниже, а затем я мог бы использовать access_tokЗначение en в следующей операции для другого метода POST?

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbsdfsdfsdfsdfcsdcsdvarglkwelkrmgmasdmnfjtugnasmdfisdfmmmmpeirhg_-e60s72zgV8Gn2hUiWwlelNQhJongUW6fxwD42c1N5u4R2JJdrj5V_bIwnvY_C_l5wHlIFSQRE1E-5KzP7WG9XjmV9oXRXXGjNhwRqEocGdiEMjcibyiYQNZmG2h-GbsTKvCc21hRNhyRF_y4mdwVUytAXT68TuwZxsTbjUzEvPdwd2JZaFnD9Elo7akSk2ROnRMxN70fsoLzEK71kbzoYkti1jX_V8i_s6K0wmLma-x4nc2kW5mpFM0R9NPqH-kGf-4ZUKim03frifpsGl6Nqo-eN5oZ-b6YgK56mSjxpxQ",
    "expires_in": 3600,
    "token_type": "Bearer"
}

1 Ответ

0 голосов
/ 29 ноября 2018

Используйте response.json(), чтобы получить результат в формате dict.Вы можете использовать

access_token = response.json()['access_token']

...