JavaTM 2 Platform
Standard Ed. 6

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

建構子摘要
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 的格式定義如下:

參數:
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 伺服器的Socket位址
ioe - 連接失敗時拋出的 I/O 異常。
拋出:
IllegalArgumentException - 如果任何一個參數為 null

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only