public abstract class ProxySelector extends Object
setDefault
方法进行注册。
可以通过调用getDefault
方法检索当前注册的代理选择器。
例如,当注册代理选择器时,URLConnection类的子类应该为每个URL请求调用select
方法,以便代理选择器可以决定是否应该使用直接或代理的连接。 select
方法通过首选的连接方法返回一个集合的迭代器。
如果连接不能建立到代理服务器(PROXY或SOCKS),那么主叫方应该调用代理选择器的connectFailed
方法来通知代理选择器代理服务器不可用。
默认代理选择器强制执行与代理设置相关的set of System Properties 。
Constructor and Description |
---|
ProxySelector() |
Modifier and Type | Method and Description |
---|---|
abstract void |
connectFailed(URI uri, SocketAddress sa, IOException ioe)
被称为表示连接不能建立到代理/袜子服务器。
|
static ProxySelector |
getDefault()
获取系统范围的代理选择器。
|
abstract List<Proxy> |
select(URI uri)
根据访问资源的协议选择所有适用的代理以及访问资源的目标地址。
|
static void |
setDefault(ProxySelector ps)
设置(或取消)系统范围的代理选择器。
|
public static ProxySelector getDefault()
ProxySelector
SecurityException
- 如果安全管理器已安装,并且它拒绝NetPermission
("getProxySelector")
setDefault(ProxySelector)
public static void setDefault(ProxySelector ps)
ps
- HTTP代理选择器,或
null
取消设置代理选择器。
SecurityException
- 如果安全管理器已经安装,并且它拒绝NetPermission
("setProxySelector")
getDefault()
public abstract List<Proxy> select(URI uri)
socket://host:port
uri
- 连接所需的URI
Proxy
;
当没有代理可用时,列表将包含一个类型为Proxy
的元素,代表一个直接连接。
IllegalArgumentException
- 如果参数为空
public abstract void connectFailed(URI uri, SocketAddress sa, IOException ioe)
select(URI)
返回的代理序列,使用地址和尝试连接时捕获的IOException。
uri
- sa上的代理服务器的URI。
sa
- 代理/ SOCKS服务器的套接字地址
ioe
- 连接失败时抛出的I / O异常。
IllegalArgumentException
- if either argument is null