用普通Javascript翻译基本身份验证请求
我正在与一家公司合作制作basic auth,我知道如何用普通javascript制作。我读过一些关于Stackoverflow的帖子,但是解决方案在我的代码上不起作用。返回的body和res未定义。然而,根据要求,它可以正常工作 下面是我的请求片段:用普通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
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代码。实际上,我在复制案例时传递了一些输入错误