Как захватить 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.