သင့် HTTP တောင်းဆိုမှုအတွက် Java က SOCKS proxy ကို အဘယ်ကြောင့် ရွေးချယ်ခဲ့သနည်း
Windows proxy ဖြေရှင်းနည်းဟောင်းများကို အသုံးမပြုမီ ProxySelector ရလဒ်နှင့် အသုံးဝင်သော JVM ဆက်တင်များကို စစ်ဆေးပါ။
Java တောင်းဆိုမှုတစ်ခုသည် proxy ထည့်သွင်းချက် အများအပြားနှင့် ကြုံတွေ့နိုင်သည်- တိကျသော client ဖွဲ့စည်းမှု၊ မူလ selector၊ JVM ကွန်ရက်ဆိုင်ရာ ဂုဏ်သတ္တိများနှင့် ပံ့ပိုးထားသော operating system ဆက်တင်များ။ log တွင် SOCKS ကို မမျှော်လင့်ဘဲ ဖော်ပြပါက မည်သည့် ထည့်သွင်းချက်က ၎င်းကို ရွေးချယ်ခဲ့သည်ကို ဖော်ထုတ်ပါ။
မူလ selector ကို အသုံးပြုသော ကုဒ်အတွက် တိကျသော ဦးတည်ရာအတွက် ဆုံးဖြတ်ချက်ကို စစ်ဆေးပါ-
URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
System.out.println(selector.select(target));
}
၎င်းသည် selector ၏ ကိုယ်စားလှယ်လောင်းများကို အစီရင်ခံသည်။ မည်သည့် ချိတ်ဆက်မှုက နောက်ဆုံးတွင် အောင်မြင်ခဲ့သည်ကို ၎င်းက သက်သေမပြပါ၊ ကိုယ်ပိုင် တိကျသော လမ်းကြောင်းရှိသော client သည် မတူညီသော ရွေးချယ်မှု ပြုလုပ်နိုင်သည်။
အသုံးဝင်သော ဆက်တင်များကို စစ်ဆေးပါ
http.proxyHost၊ https.proxyHost၊ socksProxyHost၊ ၎င်းတို့၏ ပေါက်များနှင့် java.net.useSystemProxies တို့ကို ပြန်လည်သုံးသပ်ပါ။ JDK ကွန်ရက်ဆိုင်ရာ ဂုဏ်သတ္တိ စာတမ်းသည် ၎င်းတို့၏ နယ်ပယ်နှင့် ဦးစားပေးအစီအစဉ်ကို ဖော်ပြသည်။ စနစ် proxy ရှာဖွေမှုကို စတင်ချိန်တွင် စစ်ဆေးသည်။ JVM စတင်သောအခါ ၎င်းကို တမင်တကာ သတ်မှတ်ပါ။
သမိုင်းဝင် အဖြေများသည် Windows ဒိုင်ယာလော့ဟောင်းများနှင့် JDK ဟောင်းများ၏ တိကျသော ပေါင်းစပ်မှုများကို ဖော်ပြသည်။ ထို အစီရင်ခံစာများသည် ဖြေရှင်းနည်းတစ်ခု၏ မူလဇာစ်မြစ်ကို ရှင်းပြနိုင်သော်လည်း လက်ရှိ runtime တွင် တူညီသော အမှားရှိသည်ဟု သက်သေမပြပါ။ application အားလုံးအတွက် operating system ဆက်တင်များကို မပြောင်းလဲမီ runtime ဗားရှင်းနှင့် selector ထွက်ရှိမှုကို မှတ်တမ်းတင်ပါ။
application သည် client တစ်ခုအတွက် HTTP proxy လိုအပ်ပါက တိကျသော proxy ဖွဲ့စည်းမှုသည် ထို လိုအပ်ချက်ကို ပိုမိုရှင်းလင်းစေနိုင်သည်။ ၎င်းသည် ဗဟိုမှ အလိုအလျောက် လမ်းကြောင်းသတ်မှတ်မှု လိုအပ်ပါက selector သည် မမျှော်လင့်သော SOCKS အချက်အလက်ကို အဘယ်ကြောင့် လက်ခံရရှိခဲ့သည် သို့မဟုတ် ပြန်ပေးခဲ့သည်ကို စုံစမ်းပါ။
စိတ်ကြိုက် selector သည် ရည်ရွယ်ထားသော ရှောင်ကွင်းမှုများနှင့် မအောင်မြင်မှု ကိုင်တွယ်မှုကို ထိန်းသိမ်းသင့်သည်။ SOCKS ကိုယ်စားလှယ်လောင်း အားလုံးကို ခွဲခြားမှုမရှိဘဲ စစ်ထုတ်ခြင်းသည် အသုံးပြုသင့်သော ချိတ်ဆက်မှုများကို ပျက်စီးစေနိုင်သည်။ သင်ဖော်ထုတ်နိုင်သော အနည်းဆုံး နယ်ပယ်ဖြင့် မှားယွင်းသော စည်းမျဉ်းကို ပြင်ဆင်ပါ။