you_are_enot
@you_are_enot
Пограммист любитель

Как проксировать https запросы в node.js?

Как использовать прокси для https запросов? Все советуют использовать npm пакет request, но как сделать это используя стандартные nodejs модули?

Следующий код приводит к ошибке:
const http = require("https");

const options = {
  host: "my-proxy",
  port: "my-proxy-port",
  path: "https://www.google.com",
};
http.get(options, function(res) {
  console.log(res);
  res.pipe(process.stdout);
});
  • Вопрос задан
  • 2486 просмотров
Решения вопроса 1
you_are_enot
@you_are_enot Автор вопроса
Пограммист любитель
Решение оказалось до смешного простым.
https://github.com/nodejs/node-v0.x-archive/issues/2474

var http = require('http');
var https = require('https');

var connectReq = http.request({ // establishing a tunnel
  host: 'localhost',
  port: 3128,
  method: 'CONNECT',
  path: 'github.com:443',
}).on('connect', function(res, socket, head) {
  // should check res.statusCode here
  var req = https.get({
    host: 'github.com',
    socket: socket, // using a tunnel
    agent: false    // cannot use a default agent
  }, function(res) {
    res.setEncoding('utf8');
    res.on('data', console.log);
  });
}).end();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы