Как захватить http-сообщения из библиотеки запросов Node с помощью Fiddler
Запросы, инициированные клиентским сервером node, инициируются клиентом в Fiddler. Однако запросы, отправленные из node в веб-службу, не записываются. Это не помогло передать конфигурацию прокси (127.0.0.1:8888) методу запроса. Как я могу направить сообщения запроса через Fiddler?
var http = require('http');
var request = require('request');
request.get(webserviceURL, { "auth" : {"user": "user", "pass" = "pass", sendImmediately: true },
"proxy" : { "host" : "127.0.0.1", "port" : 8888 }},
function (error, response) { console.log( "response received" );
});
Запрос репо: https://github.com/mikeal/request
Ответы
Ответ 1
Я просто попытался сделать это сам (используя Fiddler и библиотеку запросов от npm). Вот как я получил работу:
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'; // Ignore 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' authorization error
// Issue the request
request(
{
method: "GET",
uri: "https://secure.somewebsite.com/",
proxy: "http://127.0.0.1:8888" // Note the fully-qualified path to Fiddler proxy. No "https" is required, even for https connections to outside.
},
function(err, response, body) {
console.log("done");
});
Это с Fiddler2 с использованием параметров порта и прокси по умолчанию (и без прокси-аутентификации).
Ответ 2
Fiddler работает, установив в свой порт "Свойства обозревателя" (из меню "Пуск" ) "Подключения" > "Настройки локальной сети" > "Прокси-сервер", что делает весь HTTP-трафик (клиенты, которые подчиняются этот параметр).
Вы должны указать свой node.js клиентский lib для использования прокси, настройки будут записаны в этом диалоговом окне параметров после запуска Fiddler.
Ответ 3
Опция прокси должна быть полным URL-адресом, например:
proxy : "http://127.0.0.1:8888"
Ответ 4
Чтобы сделать это на разовой основе, без изменения кода вы можете использовать переменные среды.
Обратите внимание:
- HTTP_PROXY
- https_proxy
- no_proxy
Итак, для прокси-сервера просто установите их в консоли перед запуском вашего процесса.
Например, для настройки http и https-прокси используйте:
set HTTP_PROXY="http://127.0.0.1:8888"
set HTTPS_PROXY="http://127.0.0.1:8888"
set NODE_TLS_REJECT_UNAUTHORIZED=0
Последняя строка останавливает проблемы с SSL через прокси-сервер Fiddler.