Java ProxySelector: daidaita tashoshin HTTP da HTTPS da suka ɓace
Daidaita tashoshin HTTP da aka tsallake kafin kwatanta wurare a cikin ProxySelector na musamman, kuma ka kiyaye ka'idojin HTTP daga zaɓin socket ɗin da ba a sarrafa ba.
Wata ka'ida tana aika http://reports.example:80/ ta hanyar proxy amma tana barin http://reports.example/ ta wuce kai tsaye. Waɗannan URL ɗin suna bayyana wurin ƙarshe na HTTP ɗaya. Bambancin yawanci yana zuwa daga kwatanta tashoshin da aka bincika a zahiri.
URI.getPort() yana mayar da -1 lokacin da babu tasha a cikin URI. Ba ya maye gurbin tsoho na tsarin. Manufar hanya da ke kwatanta darajar da 80 za ta rasa URL ta biyu.
String scheme = uri.getScheme();
int port = uri.getPort();
if (port == -1) {
if ("http".equalsIgnoreCase(scheme)) port = 80;
else if ("https".equalsIgnoreCase(scheme)) port = 443;
}
Yi amfani da wannan daidaitawa a ɓangarorin biyu na kwatancen. Gyara URI na buƙatar kawai yana barin wurin da aka saita tare da tashar da aka tsallake ba tare da daidaito ba. Kwatanta mai masaukin, tashar da ta dace da tsarin da aka nufa; ƙi wuraren da ba su da kyau ko marasa mai masauki ta hanyar kuskure da aka ayyana.
Kada ka mai da kowane callback shawarar HTTP
Ana iya tuntuɓar mai zaɓe na tsoho don haɗin socket ɗin da ba a sarrafa ba, ta amfani da tsarin socket. Daidaiton mai masauki da tasha kaɗai bai kamata ya sa wannan callback ya mayar da proxy na HTTP da aka yi don buƙatun URL ba. Mika tsarin da ba a tallafa musu zuwa ga mai zaɓen da ya gabata, tare da kiyaye halinsa da ya dace.
Kama wancan mai zaɓen da ya gabata kafin ka shigar da naka. Neman tsoho na yanzu daga cikin maye gurbin zai iya sake kiran maye gurbin.
Yi rikodin tsarin, mai masauki, tasha ta asali da tasha mai inganci lokacin da kake bincikar rashin daidaito. Kada ka dogara da lamba ɗaya da aka gani ko tsarin kira a cikin aiwatarwar JDK. Manufar ya kamata ta yanke shawara daidai ga kowane URI da aka bayar.