所有类
java.net
类 ProxySelector
java.lang.Object
java.net.ProxySelector
-
public abstract class ProxySelector
- extends Object
连接到 URL 引用的网络资源时选择要使用的代理服务器(如果有)。代理选择器是此类的具体子类,通过调用 setDefault
方法注册。当前注册的代理选择器可以通过调用 getDefault
方法获得。
例如,注册代理选择器时,URLConnection 类的子类应该调用每个 URL 请求的 select
方法,这样代理选择器便可以决定应该使用直接连接还是代理连接。select
方法返回使用首选连接方法的连接上的迭代器。
如果无法建立到代理(PROXY 或 SOCKS)服务器的连接,则调用方应该调用代理选择器的 connectFailed
方法来通知代理选择器,代理服务器不可用。
-
从以下版本开始:
-
1.5
从类 java.lang.Object 继承的方法 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ProxySelector
public ProxySelector()
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 URI 用于 http 连接
- https URI 用于 https 连接
- ftp URI 用于 ftp 连接
socket://host:port
用于 tcp 客户端套接字连接
-
-
参数:
-
uri
- 所需连接的 URI
-
返回:
-
代理列表。列表中的所有元素都是
Proxy
类型;当不存在可用代理时,列表将包含一个 Proxy
类型的元素,该元素表示直接连接。
-
抛出:
-
IllegalArgumentException
- 如果任何一个参数为 null
connectFailed
public abstract void connectFailed(URI uri,
SocketAddress sa,
IOException ioe)
-
调用此方法来指示无法建立到代理/socks 服务器的连接。此方法的实现可以使用给定的地址和 IOException 的种类暂时移除或重新排序 select(String, String) 所返回的代理序列。
-
-
参数:
-
uri
- 位于 sa 的代理未能提供服务的 URI。
-
sa
- 代理/SOCKS 服务器的套接字地址
-
ioe
- 连接失败时抛出的 I/O 异常。
-
抛出:
-
IllegalArgumentException
- 如果任何一个参数为 null
所有类