Настройка прокси?

Я делаю приложение типа broswer, я хочу установить прокси только для этого браузера

Я пытался изменить глобальный прокси с помощью этого кода, но он не работает

System.getProperties().put("http.proxyHost", "someProxyURL");
System.getProperties().put("http.proxyPort", "someProxyPort");
System.getProperties().put("http.proxyUser", "someUserName");
System.getProperties().put("http.proxyPassword", "somePassword");
System.getProperties().put("http.proxySet", "true");

Итак, я посмотрел на proxySelector класс, и я действительно не понимаю, как установить прокси для моего браузера

Я знаю, что есть скрытый класс в ProxySelector в com.android.settings/.ProxySelector

Но я должен вручную ввести прокси.

Есть ли способ, чтобы я мог настроить прокси только для mybrowser(просто веб-просмотр)?

Пожалуйста помоги. Заранее спасибо!!!

2 ответа

System.getProperties().put("http.proxyUser", "someUserName");
System.getProperties().put("http.proxyPassword", "somePassword");

Они не работают в JDK, только в HTTP-клиенте Apache.

System.getProperties().put("http.proxySet", "true");

Это городской миф. Он появляется в некоторых ранних книгах по Java, но никогда не делал ничего в JDK. Это пережиток несуществующего браузера HotJavaBean c. 1998.

Вы должны использовать это как

Authenticator.setDefault(
   new Authenticator() {
      public PasswordAuthentication getPasswordAuthentication() {
         return new PasswordAuthentication(
              authUser, authPassword.toCharArray());
     }
   }
);

System.setProperty("http.proxyHost", someProxyURl);
System.setProperty("http.proxyPort", someProxyPort);
System.setProperty("http.proxyUser", someProxyUser);
System.setProperty("http.proxyPassword", someProxyPassword);
....
Другие вопросы по тегам