java.lang.Object | |
↳ | java.net.ProxySelector |
Selects the proxy server to use, if any, when connecting to a given URL.
The default proxy selector is configured by system properties.
Hostname patterns | |||
---|---|---|---|
URL scheme | property name | description | default |
ftp | ftp.nonProxyHosts | Hostname pattern for FTP servers to connect to directly (without a proxy). | * |
http | http.nonProxyHosts | Hostname pattern for HTTP servers to connect to directly (without a proxy). | * |
https | https.nonProxyHosts | Hostname pattern for HTTPS servers to connect to directly (without a proxy). | * |
HTTP Proxies | |||
URL scheme | property name | description | default |
ftp | ftp.proxyHost | Hostname of the HTTP proxy server used for FTP requests. | |
ftp.proxyPort | Port number of the HTTP proxy server used for FTP requests. | 80 | |
http | http.proxyHost | Hostname of the HTTP proxy server used for HTTP requests. | |
http.proxyPort | Port number of the HTTP proxy server used for HTTP requests. | 80 | |
https | https.proxyHost | Hostname of the HTTP proxy server used for HTTPS requests. | |
https.proxyPort | Port number of the HTTP proxy server used for HTTPS requests. | 443 | |
ftp, http or https | proxyHost | Hostname of the HTTP proxy server used for FTP, HTTP and HTTPS requests. | |
proxyPort | Port number of the HTTP proxy server. | 80 for FTP and HTTP
443 for HTTPS | |
SOCKS
Proxies | |||
URL scheme | property name | description | default |
ftp, http, https or socket | socksProxyHost | Hostname of the
SOCKS proxy server used for FTP, HTTP, HTTPS and raw sockets. Raw socket URLs are of the form socket://host:port | |
socksProxyPort | Port number of the SOCKS proxy server. | 1080 |
Hostname patterns specify which hosts should be connected to directly,
ignoring any other proxy system properties. If the URL's host matches the
corresponding hostname pattern, NO_PROXY
is returned.
The format of a hostname pattern is a list of hostnames that are
separated by |
and that use *
as a wildcard. For example,
setting the http.nonProxyHosts
property to *.android.com|*.kernel.org
will cause requests to http://developer.android.com
to be made without a proxy.
The default proxy selector always returns exactly one proxy. If no proxy
is applicable, NO_PROXY
is returned. If multiple proxies are
applicable, such as when both the proxyHost
and socksProxyHost
system properties are set, the result is the property listed
earliest in the table above.
To request a URL without involving the system proxy selector, explicitly
specify a proxy or NO_PROXY
using openConnection(Proxy)
.
Use setDefault(ProxySelector)
to install a custom
proxy selector.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Notifies this
ProxySelector that a connection to the proxy server
could not be established. | |||||||||||
Returns the default proxy selector, or null if none exists.
| |||||||||||
Returns the proxy servers to use on connections to
uri . | |||||||||||
Sets the default proxy selector.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Notifies this ProxySelector
that a connection to the proxy server
could not be established.
uri | the URI to which the connection could not be established. |
---|---|
address | the address of the proxy. |
failure | the exception which was thrown during connection establishment. |
IllegalArgumentException | if any argument is null. |
---|
Returns the default proxy selector, or null if none exists.
SecurityException | if a security manager is installed but it doesn't have the NetPermission("getProxySelector"). |
---|
Returns the proxy servers to use on connections to uri
. This list
will contain NO_PROXY
if no proxy server should be used.
IllegalArgumentException | if uri is null.
|
---|
Sets the default proxy selector. If selector
is null, the current
proxy selector will be removed.
SecurityException | if a security manager is installed but it doesn't have the NetPermission("setProxySelector"). |
---|