Proksiserveri hostinime teisendamine IDNA ASCII-ks PowerShellis
Teisendage rahvusvaheline domeeninimi oma IDNA ASCII kujule, kui proksiserveri lõpp-punkti tarbija ei suuda Unicode'i hostinime lahendada.
Proksiserveri hostinimi võib oma kuvatavas vormis sisaldada rahvusvahelisi märke. Klient või lahendaja, kes ootab IDNA ASCII kuju, vajab selle hostinime teisendamist, mitte suvalist protsentkodeeritud koopiat kogu URL-ist.
PowerShellis pakub .NET teisendust otse:
$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 ainult domeeninimi. Port ja skeem jäävad eraldi. Kasutage saadud proksiserverit HTTP-kliendis, mis päringu teeb.
Juba parsitud Uri puhul pakub IdnHost selle IDNA-ga ühilduvat hostinime esitust. Vaadake üle algne lõpp-punkt, selle asemel et juba kodeeritud silti korduvalt kodeerida.
Lahendusvea korral eristage proksiserveri hostinime sihtkoha hostinimest. Ühe teisendamine ei paranda teise kirjaviga ega puuduvat DNS-kirjet. Säilitage kavandatud hostinimi ka sertifikaadi identiteedi jaoks; selle asendamine suvalise IP-aadressiga muudab ühenduse teist osa.