Как я могу отправить свое имя пользователя и пароль на сервер при запросе некоторых данных? - PullRequest
0 голосов
/ 19 июня 2019

Я хочу получить некоторые данные с сервера, и когда я захожу на сайт сервера, у меня запрашивают имя пользователя и пароль, как на картинке.

enter image description here

Я хочу написать код, который сделает это для меня. Однако я не нашел решения, которое работает.

Я попытался запрос и node-fetch , но безуспешно.

var url = 'http://' + username + ':' + password + '@some.server.com/data';
request({url: url}, function (error, response, body) {
  console.log('error:', error); // Print the error if one occurred
  console.log('statusCode:', response && response.statusCode); // Print the 
  response status code if a response was received
  console.log('body:', body); // Print the HTML for the Google homepage.
});
var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
request(
  {
    url : url,
    headers : {
      "Authorization" : auth,
      'sendImmediately': false
    }
  },
  function (error, response, body) {
    // Do more stuff with 'body' here
    console.log('error:', error); // Print the error if one occurred
    console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
    console.log('body:', body); // Print the HTML
  }
);
fetch('some.server.com/data',
  {
      method: 'GET',
      credentials: 'same-origin',
      redirect: 'follow',
      agent: null,
      headers: {
        'Authorization': auth,
      },
      timeout: 5000
  })
  .then(function(response){
    return response.text();
  })
  .then(function(text){
    console.log('Request success: ' + text);
  })
  .catch(function(error) {
    console.log('Request error: ' + error);
  });

Как я могу вставить имя пользователя и пароль в коде, чтобы процесс поиска данных был автоматизирован? Кто-нибудь может направить меня в правильном направлении?

Спасибо.

1 Ответ

0 голосов
/ 19 июня 2019

Если вы уверены, что используете Basic Auth, попробуйте это

request(
  {
    url : url,
    auth: {                     <============ This
      user: username,              
      password: password
    }
  },
  function (error, response, body) {
    // Do more stuff with 'body' here
    console.log('error:', error); // Print the error if one occurred
    console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
    console.log('body:', body); // Print the HTML
  }
);
...