Java sorğusu bir neçə proksi mənbəyi ilə qarşılaşa bilər: açıq müştəri konfiqurasiyası, defolt seçici, JVM şəbəkə xassələri və dəstəklənən əməliyyat sistemi parametrləri. Jurnal gözlənilmədən SOCKS qeyd edəndə hansı mənbənin onu seçdiyini müəyyənləşdirin.

Defolt seçicidən istifadə edən kod üçün dəqiq təyinat üzrə qərarı yoxlayın:

URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
    System.out.println(selector.select(target));
}

Bu, seçicinin namizədlərini göstərir. Hansı bağlantının nəticədə uğurlu olduğunu sübut etmir və öz açıq marşrutu olan müştəri fərqli seçim edə bilər.

Effektiv parametrləri yoxlayın

http.proxyHost, https.proxyHost, socksProxyHost, onların portlarını və java.net.useSystemProxies-i nəzərdən keçirin. JDK şəbəkə xassələri sənədi onların əhatəsini və üstünlüyünü təsvir edir. Sistem proksisinin aşkarlanması işə salınmada yoxlanılır; JVM-i başladarkən onu qəsdən təyin edin.

Tarixi cavablar köhnə Windows dialoqları ilə köhnə JDK-lərin xüsusi kombinasiyalarını təsvir edir. Bu hesabatlar bir həllin mənşəyini izah edə bilər, lakin cari icra mühitinin eyni xətanı daşıdığını sübut etmir. Hər tətbiq üçün əməliyyat sistemi parametrlərini dəyişməzdən əvvəl icra mühitinin versiyasını və seçicinin çıxışını qeyd edin.

Tətbiq bir müştəri üçün HTTP proksisi tələb edirsə, açıq proksi konfiqurasiyası bu tələbi daha aydın edə bilər. Mərkəzi avtomatik marşrutlaşdırma tələb edirsə, seçicinin gözlənilməz SOCKS girişini niyə aldığını və ya qaytardığını araşdırın.

Fərdi seçici qəsdən edilən yan keçmələri və uğursuzluq emalını qorumalıdır. Hər SOCKS namizədini fərq qoymadan filtrləmək istifadə edilməli olan bağlantıları poza bilər. Səhv qaydanı müəyyən edə bildiyiniz ən kiçik əhatədə düzəldin.

Əlaqəli məqalələr