gpt4 book ai didi

java - 如何在Java中使用自动代理配置脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:55:07 25 4
gpt4 key购买 nike

我的 Internet Explorer 设置有一个自动代理文件(所谓的 PAC)用于 Web 访问。有没有办法在我的 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 用于 System.setProperties(..) 但这仅用于设置代理主机,而不是代理脚本(PAC 文件)。

最佳答案

哇!我可以在 Java 上加载代理自动配置 (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 - 如何在Java中使用自动代理配置脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10936268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com