向python请求提供Postman的环境配置数据

时间:2018-11-04 13:09:11

标签: python python-requests postman

我有接下来要查看的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/en/master/user/advanced/上找到了一篇有关环境变量的文章,但没有获得如何提供现成的数据。或者可能是我发现了不正确的文章。

2 个答案:

答案 0 :(得分:0)

我想您可以将此邮递员配置文件加载到JSON对象中(此文件看起来像JSON,所以我认为邮递员将其另存为JSON)。但是您需要确保它有效。在您的情况下,您在两个最后一个括号中有无效的昏迷。您可以验证JSON here

使用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

答案 1 :(得分:0)

是的,可以加载配置文件。我也一样但是问题在于如何为python请求(API)提供这些设置。例如,我已经使用POST方法注册:

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

要在Postman中登录,我需要使用Environment config。以及如何使用python请求登录。如何在api请求中提供环境数据? 例如:

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

P.S。修改的逗号错误