Starpniekservera resursdatora nosaukums attēlotajā formā var saturēt starptautiskas rakstzīmes. Klientam vai atrisinātājam, kas gaida IDNA ASCII formu, ir vajadzīgs pārveidots šis resursdatora nosaukums, nevis patvaļīga procentu kodēta visa URL kopija.

PowerShell .NET nodrošina pārveidošanu tieši:

$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 ir tikai domēna nosaukums. Ports un shēma paliek atsevišķi. Izmantojiet iegūto starpniekserveri HTTP klientā, kas veic pieprasījumu.

Jau parsētam Uri IdnHost nodrošina ar IDNA saderīgu resursdatora nosaukuma attēlojumu. Pārskatiet sākotnējo galapunktu, nevis atkārtoti kodējiet jau kodētu etiķeti.

Atrisināšanas kļūdā atšķiriet starpniekservera resursdatora nosaukumu no galamērķa resursdatora nosaukuma. Viena pārveidošana neizlabo otra pareizrakstības kļūdu vai trūkstošu DNS ierakstu. Saglabājiet paredzēto resursdatora nosaukumu arī sertifikāta identitātei; aizstāšana ar patvaļīgu IP adresi maina citu savienojuma daļu.

Saistītie raksti