Отправка запроса GET HTTPS с базовым c auth в API - PullRequest
1 голос
/ 09 мая 2020

Я пытаюсь отправить запрос GET в API, защищенный пользователем / паролем. Я использую Javascript и добавляю опцию «auth».

const https = require('https');

const headers= {
    'Accepts' : 'application/json',
}

const options = {
  hostname: 'api.com/more/info',
  port: 443,
  path: '/',
  auth: 'username:password',
  method: 'GET'
};

const req = https.request(options, (res) => {
  console.log('statusCode:', res.statusCode);
  console.log('headers:', res.headers);

  res.on('data', (d) => {
    process.stdout.write(d);
  });
});

req.on('error', (e) => {
  console.error(e);
});
req.end();

При запуске этого кода я получаю следующую ошибку:

Error: getaddrinfo ENOTFOUND api/com/more/info
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26) {
  errno: -3008,
  code: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'api.com/more/info'
}

Имя хоста было изменено для анонимности.

Что я делаю не так?

Заранее спасибо за любой совет.

1 Ответ

1 голос
/ 09 мая 2020

'api.com/more/info', вероятно, не ваше имя хоста.

Попробуйте вместо этого использовать следующие параметры:

const options = {
  hostname: 'api.com',
  port: 443,
  path: '/more/info',
  auth: 'username:password',
  method: 'GET'
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...