Может ли прокси (например, скрипач) использоваться с 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 - порт по умолчанию, скрипт.
Ответ 4
Отвечая на мой собственный вопрос: согласно https://github.com/joyent/node/issues/1514 ответ не, но вы можете использовать request
, http://search.npmjs.org/#/request, который поддерживает прокси.
Ответ 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";