我的Internet Explorer设置为具有用于Web访问的自动代理文件(所谓的PAC).有没有办法在我的Java程序中使用它呢?
我的Java代码似乎根本不使用代理.
ArrayList<Proxy> ar = new ArrayList<Proxy>(ProxySelector.getDefault().select(new URI("http://service.myurlforproxy.com")));
for(Proxy p : ar){
System.out.println(p.toString()); //output is just DIRECT T.T it should be PROXY.
}
我还在Java控制面板(Control-> Java)上设置了我的代理脚本,但结果相同.
我发现没有办法以编程方式为Java设置PAC文件.
人们使用http.proxyHost for System.setProperties(..),但这仅用于设置代理主机,而不是代理脚本(PAC文件).
解决方法:
哇!我可以在Java上加载Proxy Auto-Config(PAC)文件.请参阅以下代码和包装.
import com.sun.deploy.net.proxy.*;
.
.
BrowserProxyInfo b = new BrowserProxyInfo();
b.setType(ProxyType.AUTO);
b.setAutoConfigURL("http://yourhost/proxy.file.pac");
DummyAutoProxyHandler handler = new DummyAutoProxyHandler();
handler.init(b);
URL url = new URL("http://host_to_query");
ProxyInfo[] ps = handler.getProxyInfo(url);
for(ProxyInfo p : ps){
System.out.println(p.toString());
}
您的计算机上已经有[com.sun.deploy.net.proxy]包了!
找到[deploy.jar]; D.
标签:java,proxy,pac 来源: https://codeday.me/bug/20191006/1857924.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。