Заставить java web начать использовать прокси как Fiddler, не трогая код

Для проекта автоматического программного обеспечения мне нужны некоторые запросы и ответы от приложения Java Web Start.

Поэтому я установил Fiddler Web Debugger, а затем попытался использовать этот прокси-сервер Fiddler для отслеживания всех запросов.

Проблема заключается в приложении Java Web Start.

Я добавил это в файл.jnlp и надеялся, что это работает... Это не так!:(

  <property name="http.proxyHost" value="127.0.0.1"/>
  <property name="http.proxyPort" value="8888"/>

Приложение будет игнорировать это.

Затем я попытался настроить параметры Java.

сетевые настройки для Java

Тоже не работает; (

Wireshark не может расшифровать запросы https/ssl...

Что я мог сделать, чтобы расшифровать запросы или прочитать запросы ИЛИ разрешить использовать веб-приложение java для запуска прокси-сервера Fiddler.

Почему Java не может использовать системный прокси? >.>

1 ответ

Есть разные способы, как это сделать:

1.) Вы можете установить прокси в настройках системы Java. Откройте Системные настройки \ Java \ Панель управления Java \ Сетевые настройки. Там вы можете настроить прокси...

2.) Еще одна возможность проверить, правильно ли настроен ваш прокси, - это проверить в вашей Java-программе:

private Proxy findProxy(URI uri)
{
     try
     {
          ProxySelector selector = ProxySelector.getDefault();
          List<Proxy> proxyList = selector.select(uri);
          if (proxyList.size() > 1)
               return proxyList.get(0);
     }
     catch (IllegalArgumentException e)
     {
     }
     return Proxy.NO_PROXY;
}

3.) Установите системные настройки в вашей программе:

System.getProperties().put( "proxySet", "true" );
System.getProperties().put( "proxyHost", "myProxyMachineName" );
System.getProperties().put( "proxyPort", "85" );

Если вам также нужна аутентификация, используйте (подробнее здесь)

URLConnection connection = url.openConnection();
String password = "username:password";
String encodedPassword = base64Encode( password );
connection.setRequestProperty( "Proxy-Authorization", encodedPassword );
Другие вопросы по тегам