Может ли прокси (например, скрипач) использоваться с Node.js ClientRequest

Может ли node.js быть настроен для распознавания прокси (например, для Fiddler) и маршрутизации всего ClientRequest через прокси?

Я использую node для Windows и хотел бы отлаживать HTTP-запросы так же, как я использовал Fiddler для JavaScript в браузере.

Просто убедитесь, что я не пытаюсь создать прокси-сервер и прокси-запросы, полученные сервером. Я хочу перенаправить запросы, сделанные http.request() через прокси. Я хотел бы использовать Fiddler для проверки как запроса, так и ответа, как если бы я выполнял запрос в браузере.

Ответ 1

Чтобы перенаправить ваши клиентские запросы через скрипач, измените свой вариант-объект как это (например: непосредственно перед созданием http.request):

options.path = 'http://' + options.host + ':' + options.port + options.path;
options.headers.host = options.host;
options.host = '127.0.0.1';
options.port = 8888;

myReq = http.request(options, function (result) {
    ...
});

Ответ 2

Я считаю, что следующее замечательно. Модуль request считывает информацию прокси из переменной среды Windows.

Введя следующее в командной строке Windows, установите его для срока службы оболочки. Вам просто нужно запустить приложение node из этой оболочки.

set https_proxy=http://127.0.0.1:8888 
set http_proxy=http://127.0.0.1:8888
set NODE_TLS_REJECT_UNAUTHORIZED=0

Ответ 3

Если вы хотите выполнить исходящие реквизиты с node вы можете использовать модуль request

и просто установите свойство прокси в параметрах, например

request.post('http://204.145.74.56:3003/test', {
headers :{ 'content-type' : 'application/octet-stream'}, 
'body' : buf ,
 proxy: 'http://127.0.0.1:8888'
}, function() {
   //callback
});

8888 - порт по умолчанию, скрипт.

Ответ 5

process.env.https_proxy = "http://127.0.0.1:8888";
process.env.http_proxy = "http://127.0.0.1:8888";
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";