Fiddler не перехватывает веб-запросы PowerShell
Я пытаюсь использовать Fiddler, чтобы помочь кому-то решить проблему с Invoke-RestMethod
вызовы ASP.NET WebAPI. К сожалению, когда я звоню Invoke-RestMethod
в PowerShell Fiddler не перехватывает HTTP-сообщения.
Когда я использую Internet Explorer для просмотра корня веб-сайта ASP.NET, который является частью того же приложения, Fiddler перехватывает трафик, как и ожидалось.
Может кто-нибудь объяснить, почему Fiddler не захватывает HTTP-трафик через PowerShell, и как решить эту проблему?
4 ответа
Fiddler фактически работает через прокси и автоматически устанавливает настройки прокси в IE при запуске. Вы можете проверить это, запустив fiddler, а затем выбрав "Настройки Lan" в разделе "Свойства обозревателя"> "Подключение".
Invoke-RestMethod
имеет -Proxy
параметр, который вы можете использовать, чтобы указать на прокси-сервер Fiddler. Я думаю, что по умолчанию 127.0.0.1:8888:
Invoke-RestMethod -Proxy 'http://127.0.0.1:8888' ....
Изменить: добавив скриншот, чтобы подтвердить ответ выше.
У меня была похожая проблема (с Powershell & Fiddler2) при установке пакетов NPM.
Это сработало после настройки Fiddler в качестве обратного прокси, а затем с помощью команды, упомянутой в ответе здесь (спасибо за это JNK).
Пошаговые инструкции ниже:
- Выполните шаги, упомянутые здесь, и напишите правило FiddlerScript в одну строку, чтобы использовать Fiddler в качестве обратного прокси-сервера.
В моем случае это было:
if (oSession.host.toLowerCase () == "127.0.0.1:8888") oSession.host = "127.0.0.1:80";
- Затем в PowerShell используйте настроенные параметры прокси:
PS F:> npm установить yo -g -proxy ' http://127.0.0.1:8888/'
- Теперь трафик PowerShell должен проходить через Fiddler.
Мне удалось заставить его работать, сбросив сертификаты https скрипача (см. этот ответ ).
У меня была такая же проблема, когда я тестировал проект, и оказалось, что причиной этой ошибки был запуск Fiddler..!!
Если вы используете Fiddler для перехвата http-запроса, отключите его...
Это одна из многих причин такой ошибки.
Чтобы исправить Fiddler, вам может потребоваться сбросить сертификаты Fiddler Https .
Я попробовал все опубликованные решения в powershell v5, но они не работают.
Единственное решение — использоватьpowershll core v7.x (tried v7.4)
и он работает нормально, и Fiddler МОЖЕТ перехватывать веб-запросы PowerShell.
Кроме того, работает использование Curl.exe из PowerShel v5 с опцией прокси:
curl.exe ... -x 127.0.0.1:8888