我正在制作一个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)?
请帮助。提前致谢!!!
答案 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);
....