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.

Kaugnay na mga artikulo