鴻蒙OS ProxySelector

2022-06-10 17:54 更新

ProxySelector

java.lang.Object

|---java.net.ProxySelector

public abstract class ProxySelector
extends Object

選擇連接到 URL 引用的網(wǎng)絡(luò)資源時要使用的代理服務(wù)器(如果有)。 代理選擇器是此類的具體子類,并通過調(diào)用 setDefault 方法進(jìn)行注冊。 當(dāng)前注冊的代理選擇器可以通過調(diào)用 getDefault 方法來檢索。

例如,當(dāng)代理選擇器注冊時,URLConnection 類的子類應(yīng)該為每個 URL 請求調(diào)用 select 方法,以便代理選擇器可以決定是否應(yīng)該使用直接連接或代理連接。 select 方法使用首選連接方法返回集合上的迭代器。

如果無法與代理(PROXY 或 SOCKS)服務(wù)器建立連接,則調(diào)用者應(yīng)調(diào)用代理選擇器的 connectFailed 方法來通知代理選擇器代理服務(wù)器不可用。

默認(rèn)代理選擇器確實強(qiáng)制執(zhí)行一組與代理設(shè)置相關(guān)的系統(tǒng)屬性。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
ProxySelector()

方法總結(jié)

修飾符和類型 方法 描述
abstract void connectFailed(URI uri, SocketAddress sa, IOException ioe) 調(diào)用以指示無法建立到proxy/socks服務(wù)器的連接。
static ProxySelector getDefault() 獲取系統(tǒng)范圍的代理選擇器。
abstract ListProxy select(URI uri) 根據(jù)協(xié)議選擇所有適用的代理來訪問資源,并選擇目標(biāo)地址來訪問資源。
static void setDefault(ProxySelector ps) 設(shè)置(或取消設(shè)置)系統(tǒng)范圍的代理選擇器。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構(gòu)造函數(shù)詳細(xì)信息

ProxySelector

public ProxySelector()

方法詳情

getDefault

public static ProxySelector getDefault()

獲取系統(tǒng)范圍的代理選擇器。

返回:

系統(tǒng)范圍的 ProxySelector

Throws:

Throw名稱 Throw描述
SecurityException 如果已安裝安全管理器并且它拒絕 NetPermission("getProxySelector")

setDefault

public static void setDefault(ProxySelector ps)

設(shè)置(或取消設(shè)置)系統(tǒng)范圍的代理選擇器。 注意:非標(biāo)準(zhǔn)協(xié)議處理程序可能會忽略此設(shè)置。

參數(shù):

參數(shù)名稱 參數(shù)描述
ps HTTP 代理選擇器,或 null 以取消設(shè)置代理選擇器。

Throws:

Throw名稱 Throw描述
SecurityException 如果已安裝安全管理器并且它拒絕 NetPermission("setProxySelector")

select

public abstract ListProxy select(URI uri)

根據(jù)協(xié)議選擇所有適用的代理來訪問資源,并選擇目標(biāo)地址來訪問資源。 URI 的格式定義如下:

  • http 連接的 http URI
  • https 連接的 https URI
  • socket://host:port 用于 tcp 客戶端套接字連接

參數(shù):

參數(shù)名稱 參數(shù)描述
uri 連接所需的 URI

返回:

代理列表。 List 中的每個元素都是 Proxy 類型; 當(dāng)沒有可用的代理時,列表將包含一個代表直接連接的代理類型元素。

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果參數(shù)為空

connectFailed

public abstract void connectFailed(URI uri, SocketAddress sa, IOException ioe)

調(diào)用以指示無法建立到proxy/socks服務(wù)器的連接。 此方法的實現(xiàn)可以使用地址和嘗試連接時捕獲的 IOException 臨時刪除代理或重新排序 select(java.net.URI) 返回的代理序列。

參數(shù):

參數(shù)名稱 參數(shù)描述
uri sa 上的代理未能提供服務(wù)的 URI。
sa proxy/SOCKS 服務(wù)器的套接字地址
ioe 連接失敗時拋出的 I/O 異常。

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果任一參數(shù)為空
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號