Подтвердить что ты не робот

Fiddler не захватывает HTTP-запросы от Java-приложения

В настоящее время я пишу Java-приложение, которое использует HTTP POST для загрузки CSV файла и нескольких других параметров на сервер. Сервер возвращает 500 ошибок в мое приложение, и я хотел бы просмотреть HTTP-запрос в Fiddler, чтобы я мог видеть запрос POST.
Когда я запускаю Fiddler, он не будет захватывать HTTP-трафик из приложения Java. Я написал запрос GET, который работает, поэтому я знаю, что могу общаться с сервером, однако никакой трафик не отображается через Fiddler.

4b9b3361

Ответ 1

Вы можете просто установить Fiddler как HTTP-прокси для своего приложения, установив свойства

http.proxyHost на localhost и http.proxyPort до 8888 для HTTP-трафика и https.proxyHost/https.proxyPort для трафика HTTPS. Для трафика HTTPS вам также необходимо добавить корневой сертификат Fiddler (экспортируемый в диалоговом окне параметров) в качестве доверенного сертификата в ваше приложение.

Вы можете сделать это, добавив следующие строки в начале вашего кода

System.setProperty("http.proxyHost", "localhost");
System.setProperty("http.proxyPort", "8888");

или установите их через командную строку при запуске Java-VM:

java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 ...

Ответ 2

С Jetty HTTP-клиентом предыдущее решение не работает. Однако следующие работы:

HttpClient httpClient = new HttpClient();
httpClient.setProxy(new Address("127.0.0.1", 8888));
httpClient.start();