Proxy đã chấp nhận TCP nhưng không bao giờ hoàn tất phản hồi CONNECT. Phản hồi của trang web chưa bắt đầu; một thời gian chờ chỉ nhắm vào phản hồi sau đó có thể khiến bước thiết lập này chờ vô hạn.

Với Apache HttpClient 5.3.1, hãy đặt các giá trị mặc định của trình quản lý kết nối:

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

Dùng các lớp Apache HttpComponents 5 trong org.apache.hc, với Timeout trong gói tiện ích core5. Giữ lại ứng dụng khách cho công việc của nó và đóng nó. Đối với một thử nghiệm HTTP công khai riêng biệt, một ứng viên từ danh sách proxy HTTP cung cấp điểm cuối; giữ đích ổn định khi so sánh thời gian chờ.

Giới hạnThời gian chờ được xử lý
Thời gian chờ kết nốiThiết lập kết nối
Thời gian chờ socketTrạng thái không hoạt động I/O mặc định, bao gồm trao đổi CONNECT
Lấy từ nhóm / phản hồi của ứng dụngCác giai đoạn khác được cấu hình riêng

Sau CONNECT, TLS có thể cần giới hạn thiết lập riêng thông qua cấu hình TLS của HttpClient 5. Cũng phân biệt trạng thái không hoạt động với hạn chót tổng thể: các byte ngắt quãng hoặc trao đổi xác thực lặp lại có thể kéo dài tổng thời gian. Dùng chính sách hạn chót hoặc hủy được ứng dụng hỗ trợ cho một ngân sách cho toàn bộ thao tác.

Bài viết liên quan