PowerShell တွင် ပရောက်စီ ဟိုစ့်အမည်ကို IDNA ASCII သို့ ပြောင်းလဲပါ
ပရောက်စီ အဆုံးမှတ် အသုံးပြုသူက Unicode ဟိုစ့်အမည်ကို ဖြေရှင်းနိုင်ခြင်းမရှိသည့်အခါ နိုင်ငံတကာ ဒိုမိန်းအမည်ကို ၎င်း၏ IDNA ASCII ပုံစံသို့ ပြောင်းလဲပါ။
ပရောက်စီ ဟိုစ့်အမည်တွင် ၎င်း၏ ပြသပုံစံ၌ နိုင်ငံတကာ စာလုံးများ ပါဝင်နိုင်သည်။ IDNA ASCII ပုံစံကို မျှော်လင့်သော ကလိုင်းနက် သို့မဟုတ် ဖြေရှင်းသူသည် ထို ဟိုစ့်အမည်ကို ပြောင်းလဲထားရန် လိုအပ်သည်၊ URL တစ်ခုလုံးကို ရာခိုင်နှုန်းဖြင့် မတော်တဆ escape လုပ်ထားသော မိတ္တူ မဟုတ်ပါ။
PowerShell တွင် .NET သည် ပြောင်းလဲမှုကို တိုက်ရိုက် ဖော်ပြသည်−
$mapping = New-Object System.Globalization.IdnMapping
$asciiHost = $mapping.GetAscii($unicodeProxyHost)
$endpoint = New-Object System.UriBuilder
$endpoint.Scheme = 'http'
$endpoint.Host = $asciiHost
$endpoint.Port = 8080
$proxy = New-Object System.Net.WebProxy($endpoint.Uri)
unicodeProxyHost သည် ဒိုမိန်းအမည် သက်သက်သာ ဖြစ်သည်။ ပို့တ်နှင့် အစီအစဉ်သည် သီးခြား ကျန်ရှိသည်။ ရလဒ် ပရောက်စီကို တောင်းဆိုမှု ပြုလုပ်သော HTTP ကလိုင်းနက်တွင် အသုံးပြုပါ။
ပိုင်းခြားစိတ်ဖြာပြီးသား Uri အတွက် IdnHost သည် IDNA နှင့် ကိုက်ညီသော ဟိုစ့်အမည် ကိုယ်စားပြုမှုကို ဖော်ပြသည်။ ကုဒ်ပြုပြီးသား အညွှန်းကို ထပ်ခါတလဲလဲ ကုဒ်ပြုမည့်အစား မူလ အဆုံးမှတ်ကို ပြန်လည် စစ်ဆေးပါ။
ဖြေရှင်းမှု အမှားတွင် ပရောက်စီ၏ ဟိုစ့်အမည်နှင့် ဦးတည်ရာ၏ ဟိုစ့်အမည်ကို ခွဲခြားပါ။ တစ်ခုကို ပြောင်းလဲခြင်းသည် အခြားတစ်ခုရှိ စာလုံးပေါင်း အမှား သို့မဟုတ် ပျောက်ဆုံးနေသော DNS မှတ်တမ်းကို မပြုပြင်ပါ။ လက်မှတ် အထောက်အထားအတွက်လည်း ရည်ရွယ်ထားသော ဟိုစ့်အမည်ကို ထိန်းသိမ်းပါ။ မတော်တဆ IP လိပ်စာဖြင့် အစားထိုးခြင်းသည် ချိတ်ဆက်မှု၏ အခြားအပိုင်းကို ပြောင်းလဲစေသည်။