java.lang.Object
java.net.ProxySelector
选择在连接到 URL 引用的网络资源时要使用的代理服务(如果有)。代理选择器是此类的具体子类,通过调用
setDefault 方法进行注册。可以通过调用 getDefault 方法检索当前注册的代理选择器。
例如,当代理选择器被注册时,URLConnection 类的子类应该为每个 URL 请求调用 select 方法,以便代理选择器可以决定是使用直接连接还是代理连接。 select 方法使用首选连接方法返回集合上的迭代器。
如果无法与代理(PROXY 或 SOCKS)服务建立连接,则调用者应调用代理选择器的 connectFailed 方法来通知代理选择器代理服务不可用。
默认代理选择器确实强制执行与代理设置相关的一组系统属性。
- 自从:
- 1.5
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述abstract voidconnectFailed(URI uri, SocketAddress sa, IOException ioe) 调用以指示无法建立到代理/socks 服务的连接。static ProxySelector获取系统范围的代理选择器。static ProxySelectorof(InetSocketAddress proxyAddress) 返回一个 ProxySelector,它对所有 HTTP 和 HTTPS 请求使用给定的代理地址。根据用于访问资源的协议和用于访问资源的目标地址选择所有适用的代理。static void设置(或取消设置)系统范围的代理选择器。
-
构造方法详细信息
-
ProxySelector
public ProxySelector()子类调用的构造方法。
-
-
方法详情
-
getDefault
获取系统范围的代理选择器。- 返回:
-
全系统
ProxySelector - 抛出:
SecurityException- 如果安装了安全管理器并且它拒绝NetPermission("getProxySelector")- 自从:
- 1.5
- 参见:
-
setDefault
设置(或取消设置)系统范围的代理选择器。注意:非标准协议处理程序可能会忽略此设置。- 参数:
ps- HTTP 代理选择器,或null取消设置代理选择器。- 抛出:
SecurityException- 如果安装了安全管理器并且它拒绝NetPermission("setProxySelector")- 自从:
- 1.5
- 参见:
-
select
根据用于访问资源的协议和用于访问资源的目标地址选择所有适用的代理。 URI 的格式定义如下:- http 连接的 http URI
- https 连接的 https URI
socket://host:port
用于 tcp 客户端套接字连接
- 参数:
uri- 需要连接的 URI- 返回:
-
代理列表。 List 中的每个元素都是
Proxy类型;当没有代理可用时,该列表将包含一个代表直接连接的Proxy类型的元素。 - 抛出:
IllegalArgumentException- 如果参数为 null 或者无法根据提供的uri确定协议或主机
-
connectFailed
调用以指示无法建立到代理/socks 服务的连接。此方法的实现可以使用地址和尝试连接时捕获的 IOException 暂时删除代理或重新排序select(URI)返回的代理序列。- 参数:
uri- sa 处的代理服务失败的 URI。sa- 代理/SOCKS 服务的套接字地址ioe- 连接失败时抛出的 I/O 异常。- 抛出:
IllegalArgumentException- 如果任一参数为空
-
of
返回一个 ProxySelector,它对所有 HTTP 和 HTTPS 请求使用给定的代理地址。如果代理是null则禁用代理。- 参数:
proxyAddress- 代理的地址- 返回:
- 代理选择器
- 自从:
- 9
-