Перевести основной запрос авторизации в простой Javascript - PullRequest
0 голосов
/ 28 августа 2018

Я работаю с запросом , чтобы сделать базовую аутентификацию, и я бы знал, как сделать то же самое в простом javascript. Я прочитал какой-то пост о Stackoverflow, но решение не работает с моим кодом. Тело и 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();

2:

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();

Любой намек был бы хорош

1 Ответ

0 голосов
/ 28 августа 2018

Похоже, вам не хватает обработки ответов.

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();

Также, если вы собираетесь использовать Запрос с аутентификацией, это также может помочь: https://github.com/request/request#http-authentication

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...