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