Proxy

public final class Proxy


代表 CronetEngine 可使用的 Proxy。

透過 Proxy 傳送 HTTP 要求的方式取決於多種因素。例如:使用的 Proxy 類型、使用的 HTTP 版本,以及要求是否傳送至具有 HTTP 或 HTTPS URI 配置的目的地。此外,是否透過 Proxy 建立通道也取決於這些因素。

摘要

巢狀型別

public abstract class Proxy.HttpConnectCallback

控管透過 HTTP CONNECT 建立的通道。

呼叫 onResponseReceived 後可執行的動作。

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

代表傳送至 Proxy 伺服器的 HTTP CONNECT 要求。

@Retention(value = RetentionPolicy.SOURCE)
@IntDef(value = )
public annotation Proxy.Scheme

定義 Proxy 時支援的架構。

常數

static final int

建立與 Proxy 本身的純文字連線。

static final int

建立與 Proxy 本身的安全連線。

公用方法

static @NonNull Proxy
createHttpProxy(
    @Proxy.Scheme int scheme,
    @NonNull String host,
    @IntRange(from = 0, to = 65535) int port,
    @NonNull Executor executor,
    @NonNull Proxy.HttpConnectCallback callback
)

建構 HTTP Proxy。

常數

SCHEME_HTTP

public static final int SCHEME_HTTP = 0

建立與 Proxy 本身的純文字連線。

SCHEME_HTTPS

public static final int SCHEME_HTTPS = 1

建立與 Proxy 本身的安全連線。

公用方法

createHttpProxy

public static @NonNull Proxy createHttpProxy(
    @Proxy.Scheme int scheme,
    @NonNull String host,
    @IntRange(from = 0, to = 65535) int port,
    @NonNull Executor executor,
    @NonNull Proxy.HttpConnectCallback callback
)

建構 HTTP Proxy。

透過 HTTP Proxy 傳送 HTTP 要求時,是否呼叫 callback 取決於目的地的 URI 配置:

  • 對於具有 https URI 配置的目的地,CronetEngine 會透過 Proxy 建立通道。通道是透過 HTTP CONNECT 要求建立的。在這種情況下,系統會呼叫 callback,以控管用於建立通道的 HTTP CONNECT 要求。
  • 如果目的地採用 http URI 配置,CronetEngine 會將包含目的地完整 URI 的 HTTP 要求傳送至 Proxy。在這種情況下,系統不會呼叫 callback
參數
@Proxy.Scheme int scheme

Scheme,與 hostport 一起識別這個 Proxy。

@NonNull String host

非空白主機,與 schemeport 一起識別這個 Proxy。

@IntRange(from = 0, to = 65535) int port

schemehost 一併用於識別這個 Proxy 的連接埠。值必須介於 [0, 65535] 之間。

@NonNull Executor executor

要叫用 callback 的執行者。

@NonNull Proxy.HttpConnectCallback callback

回呼,可與 CronetEngine 傳送的 HTTP CONNECT 要求及其回應互動,透過 Proxy 建立通道。