Java ProxySelector: deede awọn ebute HTTP ati HTTPS ti o nsọnù
Deede awọn ebute HTTP ti a fi silẹ ṣaaju ki o to fi awọn ibi-afẹde wẹẹrẹ ni ProxySelector aṣa, ki o si pa awọn ofin HTTP mọ kuro ninu yiyan socket aise.
Ofin kan nfi http://reports.example:80/ ranṣẹ nipasẹ proxy ṣugbọn o jẹ ki http://reports.example/ lọ taara. Awọn URL mejeeji ṣe apejuwe ipari HTTP lasan kanna. Aiṣedeede maa n wa lati fifi awọn ebute ti a yan wẹẹrẹ ni ọrọ gangan.
URI.getPort() da -1 pada nigbati ko ba si ebute ninu URI. Ko rọpo aiyipada fun eto naa. Eto ipa-ọna ti o fi iye we 80 yoo padanu URL keji.
String scheme = uri.getScheme();
int port = uri.getPort();
if (port == -1) {
if ("http".equalsIgnoreCase(scheme)) port = 80;
else if ("https".equalsIgnoreCase(scheme)) port = 443;
}
Lo deede kanna si ẹgbẹ mejeeji ti ifiwera. Ṣatunṣe URI ibeere nikan tun fi ibi-afẹde ti a ti ṣeto pẹlu ebute ti a fi silẹ laini ibaamu. Fi ogun, ebute ti o munadoko ati eto ti a pinnu wẹẹrẹ; kọ awọn ibi-afẹde ti ko tọ tabi ti ko ni ogun nipasẹ ọna aṣiṣe ti a ṣalaye.
Maṣe sọ gbogbo callback di ipinnu HTTP
A le beere lọwọ yiyan aiyipada fun awọn asopọ socket aise pẹlu, ni lilo eto socket. Ibaamu ogun ati ebute nikan ko gbọdọ jẹ ki callback yẹn da proxy HTTP pada ti a pinnu fun awọn ibeere URL. Fi awọn eto ti a ko ṣe atilẹyin fun yiyan ti tẹlẹ, ni titọju ihuwasi ti o yẹ rẹ.
Mu yiyan ti tẹlẹ yẹn ṣaaju ki o to fi tirẹ sori. Wiwa aiyipada lọwọlọwọ lati inu aropo le kan pe aropo lẹẹkansi.
Ṣe igbasilẹ eto, ogun, ebute atilẹba ati ebute ti o munadoko nigbati o n ṣe ayẹwo aiṣedeede. Maṣe gbẹkẹle nọmba kan ti a ṣe akiyesi tabi ilana callback kọja awọn imuse JDK. Eto naa yẹ ki o ṣe ipinnu to pe fun gbogbo URI ti a pese.