PowerShell ରେ ପ୍ରକ୍ସି ହୋଷ୍ଟନାମକୁ IDNA ASCII କୁ ରୂପାନ୍ତର କରନ୍ତୁ
ଯେତେବେଳେ ପ୍ରକ୍ସି ଏଣ୍ଡପଏଣ୍ଟର ଉପଭୋକ୍ତା ୟୁନିକୋଡ୍ ହୋଷ୍ଟନାମ ସମାଧାନ କରିପାରିବେ ନାହିଁ, ସେତେବେଳେ ଏକ ଆନ୍ତର୍ଜାତୀୟ ଡୋମେନ ନାମକୁ ଏହାର IDNA ASCII ରୂପକୁ ରୂପାନ୍ତର କରନ୍ତୁ।
ଏକ ପ୍ରକ୍ସି ହୋଷ୍ଟନାମ ଏହାର ପ୍ରଦର୍ଶିତ ରୂପରେ ଆନ୍ତର୍ଜାତୀୟ ଅକ୍ଷର ରଖିପାରେ। IDNA ASCII ରୂପ ଆଶା କରୁଥିବା କ୍ଲାଏଣ୍ଟ କିମ୍ବା ରିଜୋଲଭରକୁ ସେହି ହୋଷ୍ଟନାମ ରୂପାନ୍ତରିତ ଆବଶ୍ୟକ, ସମ୍ପୂର୍ଣ୍ଣ URLର କୌଣସି ମନଇଚ୍ଛା ପ୍ରତିଶତ-ଏସ୍କେପ କରାଯାଇଥିବା ନକଲ ନୁହେଁ।
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 ଠିକଣାରେ ବଦଳାଇଲେ ସଂଯୋଗର ଅନ୍ୟ ଅଂଶ ବଦଳିଯାଏ।