Отправка запросов NodeJs Axios через Fiddler - PullRequest
0 голосов
/ 09 ноября 2018

Я использую код Windows + Visual Studio для разработки Node JS API. Я использую Axios для отправки запросов на отдых от NodeJs сторонним API.

Я бы хотел проверить пакеты, отправленные с моего Node-сервера на сторонний сервер через Fiddler, однако мне было трудно заставить Axios прокси-сервер через 127.0.0.1 порт 8888.

В идеале это будет простая глобальная переменная для включения / выключения прокси. я попробовал вот что:

axios.defaults.proxy = { host: "127.0.0.1", port:8888}

axios.defaults.proxy = { host: "127.0.0.1", port:8888, protocol: "http"}

axios.post(url: <api>, {post:data}, {proxy: {host: "127.0.0.1", "8888"} });

и много разных вариаций вышеперечисленного. когда прокси включен, запрос не будет выполнен.

1 Ответ

0 голосов
/ 02 августа 2019

Является ли сервер, к которому вы пытаетесь связаться, используя https? Проблема с axios в том, что они, похоже, решают проблемы.

Обходной путь, который позволит вам использовать прокси через Fiddler, - использовать туннель HTTPS-over-HTTP. Ян Молак написал эту прекрасную статью о сценарии отправки запроса на https сервер через http прокси. Следующий код работал для меня при выполнении запросов через Fiddler:

const axios = require('axios');
const tunnel = require('tunnel');

const axiosInstance = axios.create({
  httpsAgent = tunnel.httpsOverHttp({
    host: '127.0.0.1',
    port: 8888,
  }),
  proxy: false,
});

axiosInstance.post(/* ... */);
...