向API发送一个带有基本授权的GET HTTPS请求。

问题描述 投票:0回答:1

我试图发送一个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'
}

主机名已被更改为匿名。

我到底做错了什么?

先谢谢你的建议。

javascript node.js api https get
1个回答
0
投票

'api.com/more/info' 可能不是你的主机名。

试着用这些选项代替。

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

0
投票

Bertrand Marron说的很对 在 "Path "中添加moreinfo就解决了这个问题。谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.