如何向节点https请求添加标头授权

时间:2018-07-11 17:55:19

标签: node.js

我正在尝试一个get方法,我需要通过标题通过身份验证,但是它不起作用 身份验证的一种类型是添加密钥:授权和值:“令牌{token code} 第二种类型是通过向带有用户名/密码的标头添加基本身份验证。我怎样才能做到这一点? 这是我的request.js

var http = require('https');

var header =  { 
    'Authorization': 'Token token code'
}
var optionsget = {
    host : 'kc.kobotoolbox.org', // here only the domain name
    // (no http/https !)
    port : 443,
     path : '/api/v1/forms/191797/form.json', // the rest of the url with parameters if needed
    method : 'GET' ,
    headers: header
};
http.request(optionsget,function(res){
    console.log(res);
    var body = '';
    res.on('data',function(chunk){
        console.log(chunk);
        body+= chunk;
    });
    res.on('end', function(){
        // var dados = JSON.parse(body);
        console.log(body);
    })
}).end();

第二次尝试

   var http = require('https');


    var username = 'user';
    var password = 'pw';
    var auth = 'Basic ' + Buffer.from(username + ':' + password).toString('base64');

    var header = {'Host':'kc.humanitarianresponse.info/api/v1/data', 'Authorization': auth};
    var optionsget = {
        host : 'kc.humanitarianresponse.info', // here only the domain name
        // (no http/https !)
        port : 443,
         path : '/api/v1/forms/191797/form.json', // the rest of the url with parameters if needed
        method : 'GET' ,
        'Authorization': auth
    };
    http.request(optionsget,function(res){
        console.log(res);
        var body = '';
        res.on('data',function(chunk){
            console.log(chunk);
            body+= chunk;
        });
        res.on('end', function(){
            // var dados = JSON.parse(body);
            console.log(body);
        })
    }).end();

我得到的错误是未提供身份验证凭据。

0 个答案:

没有答案