- java.lang.Object
-
- java.net.ProxySelector
-
public abstract class ProxySelector extends Object
选择在连接到URL引用的网络资源时使用的代理服务器(如果有)。 代理选择器是此类的具体子类,并通过调用setDefault
方法进行注册。 可以通过调用getDefault
方法检索当前注册的代理选择器。例如,当注册代理选择器时,URLConnection类的子类应为每个URL请求调用
select
方法,以便代理选择器可以决定是否应该使用直接或代理的连接。select
方法通过首选的连接方法返回一个集合的迭代器。如果连接不能建立到代理(PROXY或SOCKS)服务器,则呼叫者应该调用代理选择器的
connectFailed
方法来通知代理选择器代理服务器不可用。默认代理选择器强制执行与代理设置相关的set of System Properties 。
- 从以下版本开始:
- 1.5
-
-
构造方法摘要
构造方法 Constructor 描述 ProxySelector()
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 abstract void
connectFailed(URI uri, SocketAddress sa, IOException ioe)
被称为表示连接不能建立到代理/袜子服务器。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
- 如果参数为空
-
connectFailed
public abstract void connectFailed(URI uri, SocketAddress sa, IOException ioe)
被称为表示连接不能建立到代理/袜子服务器。 该方法的实现可以临时删除代理或重新排序由select(URI)
返回的代理序列,使用地址和尝试连接时捕获的IOException。- 参数
-
uri
- 代理服务器上的uri
URI。 -
sa
- 代理/ SOCKS服务器的套接字地址 -
ioe
- 连接失败时抛出的I / O异常。 - 异常
-
IllegalArgumentException
- 如果任一参数为空
-
of
public static ProxySelector of(InetSocketAddress proxyAddress)
返回一个ProxySelector,它为所有HTTP和HTTPS请求使用给定的代理地址。 如果代理是null
则禁用代理。- 参数
-
proxyAddress
- 代理的地址 - 结果
- 一个ProxySelector
- 从以下版本开始:
- 9
-
-