Proksi menerima TCP tetapi tidak pernah menyelesaikan balasan CONNECT. Respons laman web belum bermula; had masa yang menyasarkan hanya balasan kemudian itu boleh membiarkan penyediaan ini menunggu tanpa had.

Untuk Apache HttpClient 5.3.1, tetapkan nilai lalai pengurus sambungan:

var connection = ConnectionConfig.custom()
    .setConnectTimeout(Timeout.ofSeconds(5))
    .setSocketTimeout(Timeout.ofSeconds(10))
    .build();

var manager = PoolingHttpClientConnectionManagerBuilder.create()
    .setDefaultConnectionConfig(connection)
    .build();

var client = HttpClients.custom()
    .setConnectionManager(manager)
    .setProxy(new HttpHost("http", "proxy.example", 8080))
    .build();

Gunakan kelas Apache HttpComponents 5 di bawah org.apache.hc, dengan Timeout dalam pakej utiliti core5. Kekalkan klien untuk kerjanya dan tutupnya. Untuk ujian HTTP awam yang terasing, calon daripada senarai proksi HTTP menyediakan titik akhir; kekalkan destinasi stabil semasa membandingkan had masa.

HadPenantian yang ditangani
Had masa sambunganPembentukan sambungan
Had masa socketKetidakaktifan I/O lalai, termasuk pertukaran CONNECT
Perolehan daripada kumpulan / respons aplikasiPeringkat lain yang dikonfigurasikan secara berasingan

Selepas CONNECT, TLS mungkin memerlukan had penyediaan sendiri melalui konfigurasi TLS HttpClient 5. Bezakan juga ketidakaktifan daripada tarikh akhir keseluruhan: bait berselang-seli atau pertukaran pengesahan berulang boleh memanjangkan jumlah masa. Gunakan dasar tarikh akhir atau pembatalan yang disokong aplikasi untuk satu belanjawan untuk keseluruhan operasi.

Artikel berkaitan