java.net
abstract public class: ProxySelector [javadoc |
source]
java.lang.Object
java.net.ProxySelector
Selects the proxy server to use, if any, when connecting to the
network resource referenced by a URL. A proxy selector is a
concrete sub-class of this class and is registered by invoking the
setDefault method. The
currently registered proxy selector can be retrieved by calling
getDefault method.
When a proxy selector is registered, for instance, a subclass
of URLConnection class should call the select
method for each URL request so that the proxy selector can decide
if a direct, or proxied connection should be used. The select method returns an iterator over a collection with
the preferred connection approach.
If a connection cannot be established to a proxy (PROXY or
SOCKS) servers then the caller should call the proxy selector's
connectFailed method to notify the proxy
selector that the proxy server is unavailable.
- author:
Yingxian - Wang
- author:
Jean-Christophe - Collet
- since:
1.5 -
| Methods from java.lang.Object: |
|---|
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from java.net.ProxySelector Detail: |
abstract public void connectFailed(URI uri,
SocketAddress sa,
IOException ioe)
Called to indicate that a connection could not be established
to a proxy/socks server. An implementation of this method can
temporarily remove the proxies or reorder the sequence of
proxies returned by #select(URI) , using the address
and the IOException caught when trying to connect. |
public static ProxySelector getDefault() {
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkPermission(SecurityConstants.GET_PROXYSELECTOR_PERMISSION);
}
return theProxySelector;
}
Gets the system-wide proxy selector. |
abstract public List<Proxy> select(URI uri)
Selects all the applicable proxies based on the protocol to
access the resource with and a destination address to access
the resource at.
The format of the URI is defined as follow:
- http URI for http connections
- https URI for https connections
- ftp URI for ftp connections
socket://host:port
for tcp client sockets connections
|
public static void setDefault(ProxySelector ps) {
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkPermission(SecurityConstants.SET_PROXYSELECTOR_PERMISSION);
}
theProxySelector = ps;
}
Sets (or unsets) the system-wide proxy selector.
Note: non-standard protocol handlers may ignore this setting. |