java.net

接口
异常
java.lang.Object
  继承者 java.net.ProxySelector

public abstract class ProxySelector
     
extends Object

连接到 URL 引用的网络资源时选择要使用的代理服务器(如果有)。代理选择器是此类的具体子类,通过调用 setDefault 方法注册。当前注册的代理选择器可以通过调用 getDefault 方法获得。

例如,注册代理选择器时,URLConnection 类的子类应该调用每个 URL 请求的 select 方法,这样代理选择器便可以决定应该使用直接连接还是代理连接。select 方法返回使用首选连接方法的连接上的迭代器。

如果无法建立到代理(PROXY 或 SOCKS)服务器的连接,则调用方应该调用代理选择器的 connectFailed 方法来通知代理选择器,代理服务器不可用。

从以下版本开始:
1.5

构造方法摘要
ProxySelector()
           
 
方法摘要
abstract  void connectFailed(URI uri, SocketAddress sa, IOException ioe)
          调用此方法来指示无法建立到代理/socks 服务器的连接。
static ProxySelector getDefault()
          获取系统级代理选择器。
abstract  List<Proxy> select(URI uri)
          基于访问资源所需的协议和访问资源的目标地址选择所有可用的代理。
static void setDefault(ProxySelector ps)
          设置(或取消设置)系统级代理选择器。
 
从类 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