gpt4 book ai didi

java - Java 的 ProxySelector 不能与自动代理配置脚本一起使用吗?

转载 作者:IT老高 更新时间:2023-10-28 20:44:33 25 4
gpt4 key购买 nike

我希望我的 Java 程序使用系统的代理配置。因此,我使用了在许多地方找到的代码,例如 this answer ,将 java.net.useSystemProxies 设置为 true 并调用 ProxySelector.getDefault().select(...) 以发现我想要访问的特定主机的代理.当我在 Internet 属性中配置了单个显式代理服务器时,这可以正常工作。但是如果我设置了“使用自动配置脚本”,它总是返回 DIRECT“代理”。

我知道脚本可以工作,因为我的浏览器可以访问它返回代理服务器的主机,而如果没有设置脚本,它就不能。我什至尝试将脚本简化为最基本的要素:

function FindProxyForURL(url, host)
{
return "PROXY my.proxy.mydomain:3128";
}

它可以在我的浏览器中使用,但 ProxySelector.getDefault().select(...) 仍然只返回 DIRECT。

我错过了什么吗? (这是在 Java 1.6 和 Windows 7 上,如果有关系的话。)

最佳答案

不,Java ProxySelector 不读取 Proxy Auto-Config (PAC)文件。

但是,as suggested by Brian de Alwis作为对我类似问题的回答, Proxy Vole 库似乎提供了这种支持/功能。

To provide network connectivity out of the box for you Java application you can use the Proxy - Vole library. It provides some strategies for autodetecting the current proxy settings. There are many configureable strategies to choose from. At the moment Proxy - Vole supports the following proxy detection strategies.

  • Read platform settings (Supports: Windows, KDE, Gnome, OSX)
  • Read browser setting (Supports: Firefox 3.x, Internet Explorer; Chrome and Webkit use the platform settings)
  • Read environment variables (often used variables on Linux / Unix server systems)
  • Autodetection script by using WPAD/PAC (Not all variations supported)

关于java - Java 的 ProxySelector 不能与自动代理配置脚本一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324996/

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