Proxy TCP'yi kabul etti ancak CONNECT yanıtını hiçbir zaman tamamlamadı. Web sitesinin yanıtı henüz başlamadı; yalnızca o sonraki yanıta yönelik bir zaman aşımı bu kurulumu süresiz bekletebilir.

Apache HttpClient 5.3.1 için bağlantı yöneticisinin varsayılanlarını ayarlayın:

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();

Apache HttpComponents 5 sınıflarını org.apache.hc altında, Timeout ile core5 yardımcı paketinde kullanın. İstemciyi işi için tutun ve kapatın. Yalıtılmış bir genel HTTP testi için HTTP proxy listesinden bir aday uç noktayı sağlar; zaman aşımlarını karşılaştırırken hedefi sabit tutun.

SınırEle alınan bekleme
Bağlantı zaman aşımıBağlantı kurulumu
Socket zaman aşımıCONNECT alışverişi dahil varsayılan I/O hareketsizliği
Havuzdan edinme / uygulama yanıtıAyrı yapılandırılan diğer aşamalar

CONNECT sonrasında TLS, HttpClient 5'in TLS yapılandırması üzerinden kendi kurulum sınırına ihtiyaç duyabilir. Ayrıca hareketsizliği toplam son tarihten ayırın: aralıklı baytlar veya yinelenen kimlik doğrulama alışverişleri toplam süreyi uzatabilir. Uygulamanın desteklediği son tarih veya iptal ilkesini şunun için kullanın: tüm işlem için tek bir bütçe.

İlgili makaleler