စည်းမျဉ်းတစ်ခုက http://reports.example:80/ ကို proxy မှတစ်ဆင့် ပို့သော်လည်း http://reports.example/ ကို တိုက်ရိုက်ဖြတ်သန်းခွင့်ပြုသည်။ ထို URL နှစ်ခုသည် တူညီသော သာမန် HTTP အဆုံးမှတ်ကို ဖော်ပြသည်။ မကိုက်ညီမှုသည် များသောအားဖြင့် သူတို့၏ ခွဲခြမ်းထားသော ပေါက်များကို စာလုံးလိုက် နှိုင်းယှဉ်ခြင်းမှ ဖြစ်ပေါ်သည်။

URI ထဲတွင် ပေါက်မပါလျှင် URI.getPort() သည် -1 ကို ပြန်ပေးသည်။ ၎င်းသည် scheme အတွက် မူရင်းတန်ဖိုးကို အစားမထိုးပါ။ တန်ဖိုးကို 80 နှင့် နှိုင်းယှဉ်သော လမ်းကြောင်းသတ်မှတ်ချက်သည် ဒုတိယ 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;
}

နှိုင်းယှဉ်မှု၏ နှစ်ဖက်စလုံးတွင် တူညီသော ပုံမှန်ပြုလုပ်မှုကို ကျင့်သုံးပါ။ တောင်းဆိုမှု URI ကိုသာ ပြုပြင်လျှင် ချန်လှပ်ထားသော ပေါက်ရှိသည့် သတ်မှတ်ထားသော ဦးတည်ချက်သည် ကိုက်ညီမှုမရှိဘဲ ကျန်နေမည်။ host၊ ထိရောက်သော ပေါက်နှင့် ရည်ရွယ်ထားသော scheme ကို နှိုင်းယှဉ်ပါ; ပုံပျက်သော သို့မဟုတ် host မရှိသော ဦးတည်ချက်များကို သတ်မှတ်ထားသော အမှားလမ်းကြောင်းဖြင့် ပယ်ပါ။

callback တိုင်းကို HTTP ဆုံးဖြတ်ချက် မဖြစ်စေပါနှင့်

မူရင်းရွေးချယ်သူကို socket အကြမ်းချိတ်ဆက်မှုများအတွက်လည်း socket scheme ဖြင့် မေးနိုင်သည်။ host နှင့် ပေါက် ကိုက်ညီရုံဖြင့် ထို callback သည် URL တောင်းဆိုမှုများအတွက် ရည်ရွယ်ထားသော HTTP proxy ကို ပြန်မပေးသင့်ပါ။ မပံ့ပိုးသော scheme များကို ယခင် ရွေးချယ်သူထံ လွှဲအပ်ပြီး ၎င်း၏ သင့်လျော်သော အပြုအမူကို ထိန်းသိမ်းပါ။

သင့်ကိုယ်ပိုင် ရွေးချယ်သူကို မထည့်သွင်းမီ ထို ယခင် ရွေးချယ်သူကို ဖမ်းယူထားပါ။ အစားထိုးမှု အတွင်းမှ လက်ရှိ မူရင်းကို ရှာခြင်းသည် အစားထိုးမှုကို ထပ်မံ ခေါ်သွားနိုင်သည်။

မကိုက်ညီမှုကို စစ်ဆေးသောအခါ scheme၊ host၊ မူရင်းပေါက်နှင့် ထိရောက်သောပေါက်ကို မှတ်တမ်းတင်ပါ။ JDK အကောင်အထည်ဖော်မှုများအကြား လေ့လာတွေ့ရှိသော ကိန်းတစ်ခု သို့မဟုတ် callback အစီအစဉ်ကို မမှီခိုပါနှင့်။ မူဝါဒသည် ပေးထားသော URI တစ်ခုစီအတွက် မှန်ကန်သော ဆုံးဖြတ်ချက် ချသင့်သည်။

ဆက်စပ်ဆောင်းပါးများ