curl -u在Node.js中的等价物

时间:2018-05-22 08:56:08

标签: javascript node.js curl

尝试制作

curl -u 'clientID:clentSecret' 'https://api.someapi.com'

在节点中,但无法弄清楚如何授权。

我试过

"Authorization": "Bearer" + "base64(clientID:clentSecret)",

 "Authorization": "Basic" + "base64(clientID:clentSecret)",

auth: {
    'user': 'clientID',
    'pass': 'clientSecret'
}

但没有任何效果。如果有人有类似的经历,请帮忙!

提前致谢。

3 个答案:

答案 0 :(得分:1)

只是一个简单的修复。你在“基本”之后留下了一个空间它应该是“基本”而“持票人”应该是“持票人”。 然后你的函数base64()在引号内,所以它将是一个字符串,而不是你想要的值,删除函数周围的引号,它将工作

答案 1 :(得分:1)

看看这个页面:https://curl.trillworks.com/#node,它非常方便。我认为你已经从评论中得到了答案(感谢@ Dennington-bear),但值得一看,它可以将curl命令转换为Node.js脚本。我建议您查看生成的代码,以便准确了解它的功能,但从curl命令创建代码框架非常有用。

结果(对于此命令);

var request = require('request');

var options = {
    url: 'https://api.someapi.com',
    auth: {
        'user': 'clientID',
        'pass': 'clentSecret'
    }
};

function callback(error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body);
    }
}

request(options, callback);

答案 2 :(得分:0)

您可以执行以下操作:

request.get('http://some.server.com/').auth(clientID, clentSecret, true);

您可以阅读更多here