设置代理?

时间:2012-04-11 14:47:23

标签: java android proxy

我正在制作一个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配置代理(只是一个Webview)?

请帮助。提前致谢!!!

2 个答案:

答案 0 :(得分:1)

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

这些不能在JDK中工作,只能在Apache HTTP客户端中使用。

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

这是一个都市神话。它出现在一些早期的Java书籍中,但从未在JDK中做过任何事情。它是已停止运行的HotJavaBean浏览器c的遗留物。 1998年。

答案 1 :(得分:-1)

你应该像

一样使用它
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);
....