Предоставить данные конфигурации среды Postman для запросов Python - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть файл конфигурации среды Postman, который выглядит следующим образом:

{
    "id": "some_id",
    "name": "env_name",
    "values": [
        {
            "key": "host-key",
            "value": "url_1",
            "type": "text",
            "enabled": true
        },
        {
            "key": "host-key",
            "value": "url_2",
            "type": "text",
            "enabled": true
        }
    ]
}

Как привязать эти настройки к запросам Python? Эти настройки используются для аутентификации. Я нашел статью на http://docs.python -requests.org / ru / master / user / advanced / о переменных окружения, но не понял, как предоставить готовые данные. Или, может быть, я нашел неправильную статью.

Ответы [ 2 ]

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

Да, с загрузкой конфигурационного файла все в порядке. Я сделал то же самое. Но вопрос в том, как предоставить эти настройки для запросов Python (API). Например, у меня есть enpoind с методом POST для входа в систему:

https://some-api.com/api/session
{
  "user_login": "loginuser",
  "user_password": "passworduser"
}

И в Почтальон, чтобы войти в систему, мне нужно использовать конфигурацию среды. И как войти в систему, используя запросы Python. Как предоставить данные среды в запросы API? Например:

requests.session().post("https://some-api.com/api/session", etc.)

P.S. измененная запятая ошибка

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

Полагаю, вы можете загрузить этот файл конфигурации почтальона в объект JSON (этот файл выглядит как JSON, поэтому я предполагаю, что Postman сохраняет его как JSON). Но вам нужно убедиться, что это действительно . В вашем случае у вас есть недопустимые комы в двух последних, но в одной скобке. Вы можете проверить JSON здесь .

Используйте функцию json.loads() для загрузки JSON из строки. Затем используйте его как Python dicit.

import json
from pprint import pprint

with open("config", "r") as f:
    conf_file = f.read()
    config = json.loads(conf_file)

pprint(config)
print(config["id"])
for value in config["values"]:
    print(value["key"])
    print(value["value"])

Выход:

{u'id': u'some_id',
 u'name': u'env_name',
 u'values': [{u'enabled': True,
              u'key': u'host-key',
              u'type': u'text',
              u'value': u'url_1'},
             {u'enabled': True,
              u'key': u'host-key',
              u'type': u'text',
              u'value': u'url_2'}]}
some_id
host-key
url_1
host-key
url_2

Справка: https://docs.python.org/2/library/json.html

...