Egy proxy hosztnév a megjelenített alakjában nemzetközi karaktereket tartalmazhat. Az IDNA ASCII alakot váró kliensnek vagy feloldónak arra a hosztnévre konvertálva van szüksége, nem a teljes URL tetszőleges százalék-kódolt másolatára.

A PowerShellben a .NET közvetlenül biztosítja az átalakítást:

$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)

Az unicodeProxyHost csak a tartománynév. A port és a séma külön marad. Használja az így kapott proxyt a kérést küldő HTTP-kliensen.

Egy már elemzett Uri esetén az IdnHost annak IDNA-kompatibilis hosztnév-reprezentációját biztosítja. Tekintse át az eredeti végpontot, ahelyett hogy egy már kódolt címkét ismételten kódolna.

Feloldási hibában különböztesse meg a proxy hosztnevét a cél hosztnevétől. Az egyik konvertálása nem javítja a másik elgépelését vagy hiányzó DNS-rekordját. A tanúsítvány identitásához is tartsa meg a szándékolt hosztnevet; tetszőleges IP-címmel való helyettesítése a kapcsolat más részét változtatja meg.

Kapcsolódó cikkek