Proxy

class Proxy


Mewakili proxy yang dapat digunakan oleh CronetEngine.

Cara permintaan HTTP dikirim melalui proxy bergantung pada berbagai faktor. Misalnya: jenis proxy yang digunakan, versi HTTP yang digunakan, apakah permintaan dikirim ke tujuan dengan skema URI http atau https. Selain itu, apakah tunnel melalui proxy dibuat atau tidak juga bergantung pada faktor-faktor ini.

Ringkasan

Jenis bertingkat

Mengontrol tunnel yang dibuat melalui HTTP CONNECT.

Tindakan yang dapat dilakukan sebagai respons terhadap panggilan onResponseReceived.

Mewakili permintaan HTTP CONNECT yang dikirim ke server proxy.

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

Skema yang didukung saat menentukan proxy.

Konstanta

const Int

Buat koneksi teks biasa ke proxy itu sendiri.

const Int

Buat koneksi aman ke proxy itu sendiri.

Fungsi publik

java-static Proxy
createHttpProxy(
    @Proxy.Scheme scheme: Int,
    host: String,
    port: @IntRange(from = 0, to = 65535) Int,
    executor: Executor,
    callback: Proxy.HttpConnectCallback
)

Membangun proxy HTTP.

Konstanta

SCHEME_HTTP

const val SCHEME_HTTP = 0: Int

Buat koneksi teks biasa ke proxy itu sendiri.

SCHEME_HTTPS

const val SCHEME_HTTPS = 1: Int

Buat koneksi aman ke proxy itu sendiri.

Fungsi publik

createHttpProxy

java-static fun createHttpProxy(
    @Proxy.Scheme scheme: Int,
    host: String,
    port: @IntRange(from = 0, to = 65535) Int,
    executor: Executor,
    callback: Proxy.HttpConnectCallback
): Proxy

Membangun proxy HTTP.

Saat mengirim permintaan HTTP melalui proxy HTTP, apakah callback dipanggil atau tidak, bergantung pada skema URI tujuan:

  • Untuk tujuan dengan skema URI https, CronetEngine membuat tunnel melalui proxy. Tunnel dibuat melalui permintaan HTTP CONNECT. Dalam hal ini, callback akan dipanggil untuk mengontrol permintaan HTTP CONNECT yang digunakan untuk membuat tunnel.
  • Untuk tujuan dengan skema URI http, CronetEngine mengirim permintaan HTTP, yang berisi seluruh URI tujuan, ke proxy. Dalam hal ini, callback tidak akan dipanggil.
Parameter
@Proxy.Scheme scheme: Int

Scheme yang, bersama dengan host dan port, mengidentifikasi proxy ini.

host: String

Host yang tidak kosong yang, bersama dengan scheme dan port, mengidentifikasi proxy ini.

port: @IntRange(from = 0, to = 65535) Int

Port yang, bersama dengan scheme dan host, mengidentifikasi proxy ini. Nilainya harus dalam [0, 65535].

executor: Executor

Eksekutor tempat callback akan dipanggil.

callback: Proxy.HttpConnectCallback

Callback yang memungkinkan interaksi dengan permintaan HTTP CONNECT, dan responsnya, yang dikirim CronetEngine untuk membuat tunnel melalui proxy.