Postman 邮递员发送请求使用来自集合的授权

Postman 邮递员发送请求使用来自集合的授权,postman,postman-pre-request-script,Postman,Postman Pre Request Script,我可以在邮递员预请求脚本中发送请求,如下所示。我想做的是使用与集合中设置的身份验证相同的身份验证,这样,如果集合发生更改,那么我的sendRequest将跟随套件 pm.sendRequest({ url: 'http://some_url', method: 'GET', header: { 'content-type': 'application/json', 'authorization': 'Basic ' + auth }

我可以在邮递员预请求脚本中发送请求,如下所示。我想做的是使用与集合中设置的身份验证相同的身份验证,这样,如果集合发生更改,那么我的sendRequest将跟随套件

pm.sendRequest({
    url: 'http://some_url',
    method: 'GET',
    header: {
        'content-type': 'application/json',
        'authorization': 'Basic ' + auth
    },

}, function (err, res) {
    // do something
});
我之所以要这样做,是因为我想与合作伙伴和客户共享该集合,而他们每个人都可能使用不同的身份验证类型。目前,我已将我的集合配置为使用基本身份验证,并使用变量作为用户名和密码。例如,如果合作伙伴将集合切换为使用OAuth,那么他们还需要更新我的所有请求前脚本以使用OAuth


如果pm.sendRequest()能够像集合中的每个请求一样继承身份验证,则合作伙伴可以在一个位置进行更改。

如果您在具有授权标头的请求之后执行sendRequest,则这将起作用:

pm.sendRequest({
    url: 'http://some_url',
    method: 'GET',
    header: {
        'content-type': 'application/json',
        'authorization': request.headers["authorization"]
    },

}, function (err, res) {
    // do something
});

有关请求对象的信息。

集合中的set是什么意思?它是什么类型的身份验证?您如何在集合中使用它?您可以将其保存为变量,并在预请求脚本中使用
pm.variables.get('my_-token\u-var')
语法。需要更多关于这个问题的上下文和信息。我已经更新了帖子以提供更多上下文。文档没有明确说明。sendRequest()不像“Send”那样接受集合上下文。需要以这种方式再次手动指定头,这意味着请求的工作方式应该不同于集合中的请求,而不是脚本中的请求。我认为这是一个错误。换句话说,在预请求和测试中需要在auth头中编写脚本似乎有些奇怪。是的,这是一个好主意。我这样做的方式是在“请求a”中的测试中,用我感兴趣的信息设置一个变量。然后在'request b'中,我在预请求脚本中检查该变量,并抛出一个错误,告诉用户在'request b'之前运行'request a'。