Ombi la Java linaweza kukutana na pembejeo kadhaa za proksi: usanidi dhahiri wa mteja, kichaguzi chaguo-msingi, sifa za mtandao za JVM, na mipangilio ya mfumo wa uendeshaji inayotumika. Wakati kumbukumbu inataja SOCKS bila kutarajia, tambua ni pembejeo gani iliyoichagua.

Kwa msimbo unaotumia kichaguzi chaguo-msingi, kagua uamuzi kwa marudio halisi:

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

Hii inaripoti watahiniwa wa kichaguzi. Haithibitishi muunganisho upi ulifanikiwa hatimaye, na mteja mwenye njia yake dhahiri anaweza kufanya chaguo tofauti.

Kagua mipangilio tendaji

Kagua http.proxyHost, https.proxyHost, socksProxyHost, bandari zao, na java.net.useSystemProxies. nyaraka za JDK za sifa za mtandao inaelezea wigo na kipaumbele chao. Ugunduzi wa proksi ya mfumo hukaguliwa wakati wa kuanza; iweke kwa makusudi unapoanzisha JVM.

Majibu ya kihistoria yanaelezea michanganyiko mahususi ya mazungumzo ya zamani ya Windows na JDK za zamani. Ripoti hizo zinaweza kueleza asili ya suluhisho, lakini hazithibitishi kwamba mazingira ya sasa ya utekelezaji yana hitilafu hiyo hiyo. Rekodi toleo la mazingira ya utekelezaji na matokeo ya kichaguzi kabla ya kubadilisha mipangilio ya mfumo wa uendeshaji kwa kila programu.

Ikiwa programu inahitaji proksi ya HTTP kwa mteja mmoja, usanidi dhahiri wa proksi unaweza kufanya hitaji hilo liwe wazi zaidi. Ikiwa inahitaji uelekezaji wa kiotomatiki wa kati, chunguza kwa nini kichaguzi kilipokea au kurudisha ingizo la SOCKS lisilotarajiwa.

Kichaguzi maalum kinapaswa kuhifadhi upitishaji wa makusudi na utunzaji wa kushindwa. Kuchuja kila mtahiniwa wa SOCKS bila ubaguzi kunaweza kuvunja miunganisho ambayo ilipaswa kutumia mmoja. Rekebisha kanuni isiyo sahihi kwa wigo mdogo zaidi unaoweza kutambua.

Makala zinazohusiana