Мне нужно получить протокол (HTTP или HTTPS) от прокси-сервера (IP-адрес и порт) с NodeJs.
У меня есть Nodejs серверное приложение. при установке приложения на любой компьютер windows оно должно автоматически получать конфигурацию прокси-сервера с компьютера и разрешать все запросы через прокси-сервер.
Я могу найти IP-адрес и порт прокси-сервера из реестра windows (HKEY_USERS.DEFAULT \ Software \ Microsoft \ Windows \ CurrentVersion \ Inte rnet Настройки), но не могу определить протокол от прокси Ip и порт.
Почему мне нужно идентифицировать протокол (Http или HTTPS)? Я использую модуль https://www.npmjs.com/package/https-proxy-agent npm, чтобы создать агента, который будет отправлять любые запросы и отправлять сообщения.
Пример: скопировано с https://www.npmjs.com/package/https-proxy-agent
var url = require('url');
var https = require('https');
var HttpsProxyAgent = require('https-proxy-agent');
// HTTP/HTTPS proxy to connect to
var proxy = process.env.http_proxy || 'http://168.63.76.32:3128';
console.log('using proxy server %j', proxy);
// HTTPS endpoint for the proxy to connect to
var endpoint = process.argv[2] || 'https://graph.facebook.com/tootallnate';
console.log('attempting to GET %j', endpoint);
var options = url.parse(endpoint);
// create an instance of the `HttpsProxyAgent` class with the proxy server information
var agent = new HttpsProxyAgent(proxy);
options.agent = agent;
https.get(options, function (res) {
console.log('"response" event!', res.headers);
res.pipe(process.stdout);
});
Эта строка ниже ожидает протокол с информацией прокси
// HTTP/HTTPS proxy to connect to
var proxy = process.env.http_proxy || 'http://168.63.76.32:3128';
Я пытался с https://www.npmjs.com/package/check-proxy но это не подходит для моих требований.
Спасибо,