用普通Javascript翻译基本身份验证请求

用普通Javascript翻译基本身份验证请求,javascript,node.js,basic-authentication,Javascript,Node.js,Basic Authentication,我正在与一家公司合作制作basic auth,我知道如何用普通javascript制作。我读过一些关于Stackoverflow的帖子,但是解决方案在我的代码上不起作用。返回的body和res未定义。然而,根据要求,它可以正常工作 下面是我的请求片段: var url = "https://&&&&&&&&.api.&&&&&&&&.com/3.0"; var user

我正在与一家公司合作制作basic auth,我知道如何用普通javascript制作。我读过一些关于Stackoverflow的帖子,但是解决方案在我的代码上不起作用。返回的body和res未定义。然而,根据要求,它可以正常工作

下面是我的请求片段:

var url = "https://&&&&&&&&.api.&&&&&&&&.com/3.0";
var username = "&&&&&&&&";
var password = "&&&&&&&&";
var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");

request.get( {
    url,
    headers : {
        "Authorization" : auth
    }
  }, function(error, response, body) {
      console.log('body : ', body);
  } );
我已经测试了以下解决方案:

1:

var request =  http.request({
    'url': 'url',
    'Authorization': 'anything:password'
}, 
function(error, res, body) {
    console.log('body : ', body);
},

function (response) {
    console.log('STATUS: ' + response.statusCode);
    console.log('HEADERS: ' + JSON.stringify(response.body));
    response.setEncoding('utf8');
    response.on('data', function (chunk) {
    console.log('BODY: ' + chunk);
    }) 
}

} 
request.end();
var url = "&&&&&&&&";
var username = "&&&&&&&&";
var password = "&&&&&&&&";

var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");

var http = require('http');

var request = http.request({
    url,
    headers : {
        "Authorization" : auth
    }
  }, function(error, res) {
      console.log('body : ', res);
  } );

  request.end();
2:

var request =  http.request({
    'url': 'url',
    'Authorization': 'anything:password'
}, 
function(error, res, body) {
    console.log('body : ', body);
},

function (response) {
    console.log('STATUS: ' + response.statusCode);
    console.log('HEADERS: ' + JSON.stringify(response.body));
    response.setEncoding('utf8');
    response.on('data', function (chunk) {
    console.log('BODY: ' + chunk);
    }) 
}

} 
request.end();
var url = "&&&&&&&&";
var username = "&&&&&&&&";
var password = "&&&&&&&&";

var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");

var http = require('http');

var request = http.request({
    url,
    headers : {
        "Authorization" : auth
    }
  }, function(error, res) {
      console.log('body : ', res);
  } );

  request.end();

任何提示都很好

看起来您缺少一些响应处理

var http = require('http');

var url = "https://jsonplaceholder.typicode.com/todos/1";
var username = "test";
var password = "testPass";
var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");

var options = {url, auth};

var req = http.request(options, function(res) {
var data = '';

    res.on('data', (chunk) => {
        console.log(chunk)
        data += chunk;
    });

    res.on('end', () => {
        console.log(data);
    });

    req.on('error', function(error) {
         // Error handling here
    });
});

req.end();

另外,如果您打算使用请求进行身份验证,这也可能会有所帮助:

我怀疑
1:
是否是有效的JS代码。实际上,我在复制案例时传递了一些输入错误