Что не так с этим примером https.request?

#javascript #node.js #ecma

#javascript #node.js #ecma

Вопрос:

Когда я пробую этот пример, он никогда ничего не возвращает.

 const https = require('https')

const options = {
  hostname: 'encrypted.google.com',
  port: 443,
  path: '/',
  method: 'GET',
  //      key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  //      cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};
options.agent = new https.Agent(options);

const req = https.request(options, (res) => {
  console.log(res)
});
  

Вопрос

Кто-нибудь может понять, почему это не работает?

Когда у меня будет рабочий пример, я хотел бы, чтобы сертификат ключ работал. Итак, это первый шаг в этой попытке.

Ответ №1:

Ваш код не совсем похож на образец из документации, который работает.

Разве вы не должны вызывать end() функцию для объекта запроса, чтобы запрос был фактически полностью отправлен?

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