ရွေးချယ်ထားသော ပရောက်စီကို Delphi ၏ TIdHTTP client တွင် အသုံးပြုခြင်း
Delphi စာရင်းမှ ရွေးချယ်မှုကို TIdHTTP ပရောက်စီ ဖွဲ့စည်းမှုနှင့် ချိတ်ဆက်ပါ၊ စစ်ဆေးပြီးသော endpoint တန်ဖိုးများနှင့် ရှင်းလင်းသော တိုက်ရိုက် ရွေးချယ်မှုတို့ဖြင့်။
စာရင်းအကွက်တစ်ခုသည် ပရောက်စီ တစ်ရာကို ပြသနိုင်သော်လည်း TIdHTTP သည် တူညီသော တစ်ခုကို ဆက်လက်အသုံးပြုနေသည်။ အတန်းတစ်ခုကို ရွေးချယ်ခြင်းက မျက်နှာပြင်ကို ပြောင်းစေသည်; နောက်တောင်းဆိုမှုသည် ရွေးချယ်ထားသော endpoint သည် HTTP client ၏ ဖွဲ့စည်းမှုသို့ ရောက်ပြီးမှသာ လမ်းကြောင်းပြောင်းသည်။
အများပြည်သူ HTTP ဒေါင်းလုဒ်များအတွက် HTTP ပရောက်စီ စာရင်းမှ ထည့်သွင်းချက်များသည် ကိုယ်စားလှယ် endpoint များကို ပေးနိုင်သည်။ ပြသထားသော ထည့်သွင်းချက်တစ်ခုစီ၏ နောက်တွင် host နှင့် ကိန်းပြည့် port ကို သိမ်းထားပါ။ ရွေးချယ်မှုကို လက်ခံသောအခါ ဒေါင်းလုဒ်မစမီ နှစ်ခုလုံးကို အသုံးပြုပါ:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
ဤအပိုင်းသည် အနားယူနေသော client၊ စစ်ဆေးပြီးသော endpoint နှင့် အက်ပ်၏ ရှိပြီးသား variable များကို ယူဆသည်။ ပစ်မှတ် URL သည် ဝဘ်ဆိုက်အဖြစ် ဆက်ရှိသည်။ ပရောက်စီ host အကွက်သည် host ကို ယူသည်၊ ဝဘ်ဆိုက် URL သို့မဟုတ် ပြသမှု အညွှန်းကို မဟုတ်ပါ။
ရွေးချယ်မှုတစ်ခုတွင် ဖြစ်နိုင်သော ရလဒ်သုံးမျိုး လိုအပ်သည်
- မှန်ကန်သော ပရောက်စီ ရွေးချယ်မှုသည် host နှင့် 1 မှ 65535 အထိ port ကို ပေးသည်။
- ရှင်းလင်းသော Direct ရွေးချယ်မှုသည် နောက်တောင်းဆိုမှုအတွက် ပရောက်စီ host ကို ရှင်းလင်းသည်။
- မမှန်ကန်သော သို့မဟုတ် မရှိသော ရွေးချယ်မှုသည် လက်ရှိ ဖွဲ့စည်းမှုကို မထိခိုက်ဘဲ ချန်ထားပြီး အသုံးပြုသူကို ပြင်ဆင်ရန် တောင်းဆိုသည်။
ထိုရလဒ်များကို သီးခြားထားခြင်းက ရွေးမထားသော အတန်းတစ်ခုသည် နောက်တောင်းဆိုမှုကို မမျှော်လင့်ဘဲ တိုက်ရိုက် မပို့နိုင်စေရန် တားဆီးသည်။ ရွေးချယ်မှုအသစ် မပြည့်စုံသေးသရွေ့ တောင်းဆိုမှု ခလုတ်ကို ပိတ်ထားပါ။
endpoint များသည် စာသားအဖြစ် လာပါက ဂုဏ်သတ္တိနှစ်ခုအနက် တစ်ခုကို မပြောင်းမီ ၎င်းတို့ကို ခွဲခြမ်းစိတ်ဖြာပြီး စစ်ဆေးပါ။ TryStrToInt က မဖမ်းမိသော အသွင်ပြောင်းခြင်း ခြွင်းချက်မပါဘဲ မကောင်းသော port ကို မျက်နှာပြင်က တင်ပြနိုင်စေသည်။ ပထမ colon တွင် ခွဲခြင်းသည် ရည်ရွယ်ချက်ရှိရှိ ကန့်သတ်ထားသော hostname-သို့မဟုတ်-IPv4 ပုံစံအတွက်သာ သင့်လျော်သည်: IPv6 literal တွင် ၎င်း၏ကိုယ်ပိုင် colon များ ပါသည်။ သီးခြား host အကွက်နှင့် port အကွက်သည် သိမ်းဆည်းထားသော ကိုယ်စားပြုမှုကို ရိုးရှင်းစေသည်။
UI နှိပ်ခြင်းက အလုပ်သမား အသုံးပြုနေပြီးသား client ကို မပြောင်းလဲစေပါနှင့်။ ရွေးချယ်မှုကို လုပ်ဆောင်ချက်များကြားတွင် အသုံးပြုပါ၊ သို့မဟုတ် တစ်ပြိုင်နက် လုပ်ဆောင်ချက်တစ်ခုစီအတွက် ၎င်း၏ကိုယ်ပိုင် ဖွဲ့စည်းထားသော client ကို ပေးပါ။ ရွေးချယ်ကိရိယာသည် အနာဂတ် ချိတ်ဆက်မှုများကို ထိန်းချုပ်သည်; တည်ရှိပြီးသား လွှဲပြောင်းမှုကို အခြား ထွက်ပေါက်သို့ ရွှေ့နိုင်မည် မဟုတ်ပါ။