URL واقعی منبع را نگه دارید و پروکسی را جداگانه به URLConnection بدهید:

URI destination = URI.create("https://example.com/report");
Proxy proxy = new Proxy(Proxy.Type.HTTP,
    new InetSocketAddress("203.0.113.10", 8080));
URLConnection connection = destination.toURL().openConnection(proxy);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);

از importهای java.net استفاده کنید و نشانی پروکسی مستندات را با سرویس HTTP خود یا نامزدی از فهرست پروکسی HTTP جایگزین کنید. اتصال همچنان https://example.com/report را درخواست می‌کند؛ پروکسی مسیر آن است. این تنظیم نه اعتبارنامه‌ها را پیکربندی می‌کند و نه همه کتابخانه‌های HTTP در JVM را.

کد اشتباهی که پروکسی را در URL منبع قرار می‌دهد ممکن است به جای گزارش، یک صفحه وب سریع پروکسی یا خطا دریافت کند. پیش از تفسیر آن پاسخ سریع به‌عنوان عملکرد بهتر، وضعیت، محتوا و مقصد واقعی را مقایسه کنید.

openConnection(Proxy) مسیر منبع را روی URI مقصد باقی می‌گذارد. آن نام میزبان را برای بررسی گواهی HTTPS هم نگه دارید؛ تغییر آن به واسطه می‌تواند ناسازگاری نام را به خطای مسیریابی بیفزاید.

اگر برنامه کلاینت HTTP دیگری می‌سازد، از همان کلاینت یا رابط connection factory آن استفاده کنید. یک شیء پروکسی URLConnection نمی‌تواند مسیری را پیکربندی کند که هرگز این API را فراخوانی نمی‌کند.

مقالات مرتبط