Seolann riail http://reports.example:80/ trí sheachfhreastalaí ach ligtear do http://reports.example/ dul go díreach. Déanann na URLanna sin cur síos ar an bpointe deiridh HTTP coitianta céanna. Tagann an mhí-chomhoiriúnacht de ghnáth as comparáid liteartha a dhéanamh idir a bportanna parsáilte.

Tugann URI.getPort() -1 ar ais nuair nach bhfuil aon phort san URI. Ní chuireann sé an réamhshocrú don scéim ina ionad. Caillfidh polasaí ródaithe a dhéanann comparáid idir an luach agus 80 an dara URL.

String scheme = uri.getScheme();
int port = uri.getPort();
if (port == -1) {
    if ("http".equalsIgnoreCase(scheme)) port = 80;
    else if ("https".equalsIgnoreCase(scheme)) port = 443;
}

Cuir an normalú céanna i bhfeidhm ar an dá thaobh den chomparáid. Má dheisítear URI an iarratais amháin fágfar cinn scríbe cumraithe le port ar lár gan chomhoiriúnú fós. Déan comparáid idir an t-óstach, an port éifeachtach agus an scéim bheartaithe; diúltaigh do chinn scríbe mhíchrutha nó gan óstach trí chonair earráide shainithe.

Ná déan cinneadh HTTP de gach aischur

Is féidir ceist a chur ar roghnóir réamhshocraithe freisin maidir le naisc socóid amh, ag baint úsáide as an scéim socket. Ní cheart go gcuirfeadh comhoiriúnú óstaigh agus poirt amháin ar an aischur sin seachfhreastalaí HTTP atá beartaithe d'iarratais URL a thabhairt ar ais. Tarmligean na scéimeanna nach dtacaítear leo chuig an roghnóir roimhe sin, agus a iompar cuí á chaomhnú.

Gabhtar an roghnóir roimhe sin sula suiteálann tú do cheann féin. Má fhéachtar ar an réamhshocrú reatha ón taobh istigh den ionadaí féadfar an t-ionadaí a ghlaoch arís.

Lógiál an scéim, an t-óstach, an port bunaidh agus an port éifeachtach agus tú ag diagnóisiú mí-chomhoiriúnachta. Ná bí ag brath ar uimhir amháin a breathnaíodh ná ar ord na n-aischur thar fheidhmiúcháin JDK. Ba cheart don pholasaí cinneadh ceart a dhéanamh do gach URI a sholáthraítear.

Ailt ghaolmhara