モジュール java.base
パッケージ 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
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    サブクラスが呼び出すためのコンストラクタ。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    abstract void
    あるPROXYまたはSOCKSサーバーへの接続を確立できなかったことを示すために呼び出されます。
    システム全体のプロキシ・セレクタを取得します。
    of​(InetSocketAddress proxyAddress)
    指定されたプロキシ・アドレスをすべてのHTTPおよびHTTPSリクエストに使用するProxySelectorを返します。
    abstract List<Proxy>
    select​(URI uri)
    リソースへのアクセスに使用するプロトコルと、リソースへのアクセス先となるアドレスに基づいて、適用可能なすべてのプロキシを選択します。
    static void
    システム全体のプロキシ・セレクタを設定(または設定解除)します。

    クラス 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接続の場合はhttp URI
      • HTTPS接続の場合はhttps URI
      • TCPクライアント・ソケット接続の場合はsocket://host:port
      パラメータ:
      uri−接続が必要なURI
      戻り値:
      プロキシのリスト。 リストの各要素のタイプはProxyです。使用できるプロキシがない場合、リストには直接接続を表すタイプProxyの要素が1つ含まれます。
      例外:
      IllegalArgumentException - 引数がnullであるか、指定されたuriからプロトコルまたはホストを特定できない場合
    • connectFailed

      public abstract void connectFailed(URI uri, SocketAddress sa, IOException ioe)
      あるPROXYまたはSOCKSサーバーへの接続を確立できなかったことを示すために呼び出されます。 このメソッドの実装は、アドレスと、接続を試みたときにキャッチされたIOExceptionに基づいて、プロキシを一時的に削除したり、select(URI)から返されるプロキシの順番を並べ替えたりすることができます。
      パラメータ:
      uri−saのプロキシが提供できなかったURI。
      sa−PROXYまたはSOCKSサーバーのソケット・アドレス
      ioe−接続の失敗時に入出力例外がスローされた場合。
      例外:
      IllegalArgumentException - どちらかの引数がnullの場合
    • of

      public static ProxySelector of(InetSocketAddress proxyAddress)
      指定されたプロキシ・アドレスをすべてのHTTPおよびHTTPSリクエストに使用するProxySelectorを返します。 プロキシがnullの場合、プロキシは無効になります。
      パラメータ:
      proxyAddress - プロキシのアドレス
      戻り値:
      ProxySelector
      導入されたバージョン:
      9