I-convert ang Hostname ng Proxy sa IDNA ASCII sa PowerShell
I-convert ang isang internasyonal na pangalan ng domain sa anyo nitong IDNA ASCII kapag hindi maresolba ng consumer ng proxy endpoint ang Unicode hostname.
Ang hostname ng proxy ay maaaring maglaman ng mga internasyonal na character sa ipinapakitang anyo nito. Ang isang client o resolver na umaasa sa anyo ng IDNA ASCII ay nangangailangan ng hostname na iyon na na-convert, hindi isang arbitraryong porsyento-escaped na kopya ng buong URL.
Sa PowerShell, direktang inilalantad ng .NET ang conversion:
$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)
Ang unicodeProxyHost ay pangalan ng domain lamang. Nananatiling hiwalay ang port at scheme. Gamitin ang resultang proxy sa HTTP client na gumagawa ng kahilingan.
Para sa Uri na na-parse na, inilalantad ng IdnHost ang representasyon ng hostname nitong compatible sa IDNA. Suriin ang orihinal na endpoint sa halip na paulit-ulit na i-encode ang isang label na naka-encode na.
Ihiwalay ang hostname ng proxy sa hostname ng destinasyon sa isang error sa pagresolba. Ang pag-convert ng isa ay hindi nagwawasto ng maling baybay o nawawalang DNS record sa isa pa. Panatilihin din ang inilaan na hostname para sa pagkakakilanlan ng sertipiko; ang pagpapalit nito ng arbitraryong IP address ay nagbabago ng ibang bahagi ng koneksyon.