I-JDK 25 HttpClient ayisebenzisi imikhondo ye-SOCKS ye-ProxySelector
Khetha ukuthutha kwe-Java HTTP okusekela ngempela i-SOCKS esikhundleni sokuthembela kuphela ohlotsheni olubuyiselwa yi-ProxySelector.
Into ye-proxy ye-Java ichaza umkhondo. Iklayenti lenethiwekhi lisengqondweni yalo ukuthi imiphi imikhondo elingayisebenzisa. Lokhu kubalulekile lapho indawo yokugcina etholakalayo ikhuluma i-SOCKS futhi uhlelo lusebenzisa java.net.http.HttpClient.
Ekwenziweni kwe-JDK 25 okuhlolwa lapha, ikhodi yesicelo seklayenti le-HTTP yamukela umuntu ogqamile we-HTTP ovela kusikhethi. Umuntu ogqamile we-SOCKS akumletheli ukuba enze izingxoxo ze-SOCKS; ukwenziwa kungaqhubeka ngaphandle kwe-proxy. Ngakho-ke impendulo ephumelelayo ayibona ubufakazi obanele bokuthi kusetshenziswe ukufakwa kwe-SOCKS kwesikhethi esenziwe ngokwezifiso.
Khetha ukuthutha kuqala
Ohlelweni olukhona olusekelwe ku-URLConnection, umphathi wephrothokholi angahlinzekwa nge-proxy ekhanyayo esekelwayo lapho kuvulwa uxhumano:
Proxy route = new Proxy(Proxy.Type.SOCKS,
new InetSocketAddress("proxy.example", 1080));
URLConnection connection = URI.create("https://service.example/")
.toURL().openConnection(route);
connection.setConnectTimeout(5000);
connection.setReadTimeout(15000);
Ezingxenyeni zokuhlola ezigunyaziwe zezinto zomphakathi, sebenzisa indawo yokugcina ye-SOCKS efanayo evela kusevisi yakho noma ohlwini lwe-proxy ye-SOCKS. Lona i-API yeklayenti ehlukile, hhayi isipelingi esihlukile se-HttpClient.Builder.proxy. Gcina i-URL yendawo oya kuyo ukuze i-HTTPS iqhubeke ibona iwebhusayithi ehlosiwe.
Uhlelo okufanele lugcine i-java.net.http lungasebenzisa indawo yokugcina ye-proxy ye-HTTP ehambisanayo esikhundleni salokho, kufaka ne-adaptha egunyaziwe ephethe uxhumano lwe-SOCKS olulandelayo. Lokho kwengeza ingxenye yangempela nomunye umngcele wokufinyelela; ukushintsha iphothi u-8080 ube u-1080 akukunikezi lokho kuhumusha.
Gcina ukukhetha nokwamukela kubonakala
Rekhoda kokubili umphumela wesikhethi nokuxhumana okuvulwa yiklayenti ngempela. Okokuqala kuchaza umphumela wenqubomgomo; okwesibili kuthola ukuthi ukwenziwa kukwamukele yini.
Hlobanisa iziphetho nesikhathi sokusebenza nokuthutha okusetshenziswayo. Izici ze-JVM SOCKS ezisetshenziswa ukwenziwa okukodwa kwe-socket akusona isethembiso sokuthi yonke imitapo yezincwadi ye-HTTP iyazibuza. Lapho umkhondo uphoqelekile, uhlobo lwe-proxy olungasekelwe kufanele lutholakale ngaphambi kokwamukela isicelo esiqondile esibonakala siphumelele.