پروکسی TCP را پذیرفت اما هرگز پاسخ CONNECT را کامل نکرد. پاسخ وب‌سایت هنوز آغاز نشده است؛ مهلتی که فقط آن پاسخ بعدی را هدف بگیرد می‌تواند این برپایی را نامحدود منتظر بگذارد.

برای Apache HttpClient 5.3.1، پیش‌فرض‌های مدیر اتصال را تنظیم کنید:

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 زیر org.apache.hc، با Timeout در بسته کمکی core5 استفاده کنید. کلاینت را برای کارش نگه دارید و آن را ببندید. برای یک آزمون HTTP عمومی مجزا، یک نامزد از فهرست پروکسی HTTP نقطه پایانی را فراهم می‌کند؛ هنگام مقایسه مهلت‌ها مقصد را ثابت نگه دارید.

محدودیتانتظار پوشش‌داده‌شده
مهلت اتصالبرقراری اتصال
مهلت سوکتبی‌فعالیتی پیش‌فرض ورودی/خروجی، شامل تبادل CONNECT
دریافت از استخر / پاسخ برنامهمراحل دیگر که جداگانه پیکربندی می‌شوند

پس از CONNECT، TLS ممکن است از طریق پیکربندی TLS در HttpClient 5 به محدودیت برپایی خود نیاز داشته باشد. همچنین بی‌فعالیتی را از یک مهلت کلی جدا کنید: بایت‌های متناوب یا تبادل‌های مکرر احراز هویت می‌توانند زمان کل را طولانی کنند. از سیاست مهلت یا لغو پشتیبانی‌شده برنامه برای یک بودجه برای کل عملیات.

مقالات مرتبط