Välityspalvelimen isäntänimi voi sisältää kansainvälisiä merkkejä näytetyssä muodossaan. Asiakasohjelma tai selvittäjä, joka odottaa IDNA ASCII -muotoa, tarvitsee kyseisen isäntänimen muunnettuna, ei mielivaltaista prosenttikoodattua kopiota koko URL-osoitteesta.

PowerShellissä .NET tarjoaa muunnoksen suoraan:

$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 on vain verkkotunnus. Portti ja skeema pysyvät erillään. Käytä tuloksena saatavaa välityspalvelinta HTTP-asiakasohjelmassa, joka tekee pyynnön.

Jo jäsennettyä Uri-objektia varten IdnHost tarjoaa sen IDNA-yhteensopivan isäntänimiesityksen. Tarkista alkuperäinen päätepiste sen sijaan, että koodaisit jo koodatun tunnisteen toistuvasti.

Erota selvitysvirheessä välityspalvelimen isäntänimi kohteen isäntänimestä. Toisen muuntaminen ei korjaa toisen kirjoitusvirhettä tai puuttuvaa DNS-tietuetta. Säilytä aiottu isäntänimi myös varmenteen identiteettiä varten; sen korvaaminen mielivaltaisella IP-osoitteella muuttaa yhteyden toista osaa.

Aiheeseen liittyvät artikkelit