CONNECT sırasında takılan Apache HttpClient 5 proxy için zaman aşımı
Tünel kurulumu için bağlantı yöneticisinin socket I/O zaman aşımını, ayrı TCP bağlantı zaman aşımıyla birlikte ayarlayın.
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ır | Ele 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.