Proxy

public final class Proxy


Rappresenta un proxy che può essere utilizzato da CronetEngine.

Il modo in cui le richieste HTTP vengono inviate tramite i proxy dipende da una serie di fattori. Ad esempio: il tipo di proxy utilizzato, la versione HTTP utilizzata, se la richiesta viene inviata a una destinazione con uno schema URI http o https. Inoltre, se viene stabilito o meno un tunnel tramite il proxy dipende anche da questi fattori.

Riepilogo

Tipi nidificati

public abstract class Proxy.HttpConnectCallback

Controlla i tunnel stabiliti tramite HTTP CONNECT.

Azioni che possono essere eseguite in risposta alla chiamata di onResponseReceived.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

Rappresenta una richiesta HTTP CONNECT inviata al server proxy.

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

Schemi supportati durante la definizione di un proxy.

Costanti

static final int

Stabilisci una connessione in testo normale al proxy stesso.

static final int

Stabilisci una connessione sicura al proxy stesso.

Metodi pubblici

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
)

Costruisce un proxy HTTP.

Costanti

SCHEME_HTTP

public static final int SCHEME_HTTP = 0

Stabilisci una connessione in testo normale al proxy stesso.

SCHEME_HTTPS

public static final int SCHEME_HTTPS = 1

Stabilisci una connessione sicura al proxy stesso.

Metodi pubblici

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
)

Costruisce un proxy HTTP.

Quando si inviano richieste HTTP tramite un proxy HTTP, la chiamata o meno di callback dipende dallo schema URI della destinazione:

  • Per le destinazioni con uno schema URI https, CronetEngine stabilisce un tunnel tramite il proxy. Il tunnel viene stabilito tramite una richiesta HTTP CONNECT. In questo caso, callback verrà chiamato per controllare la richiesta HTTP CONNECT utilizzata per stabilire il tunnel.
  • Per le destinazioni con uno schema URI http, CronetEngine invia una richiesta HTTP, contenente l'intero URI della destinazione, al proxy. In questo caso, callback non verrà chiamato.
Parametri
@Proxy.Scheme int scheme

Scheme che, insieme a host e port, identifica questo proxy.

@NonNull String host

Host non vuoto che, insieme a scheme e port, identifica questo proxy.

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

Porta che, insieme a scheme e host, identifica questo proxy. Il suo valore deve essere compreso tra [0, 65535].

@NonNull Executor executor

Esecutore in cui verrà richiamato callback.

@NonNull Proxy.HttpConnectCallback callback

Callback che consente di interagire con la richiesta HTTP CONNECT e la relativa risposta che CronetEngine invia per stabilire i tunnel tramite il proxy.