Konverter et proxy-vertsnavn til IDNA ASCII i PowerShell
Konverter et internasjonalisert domenenavn til IDNA ASCII-formen når forbrukeren av et proxy-endepunkt ikke kan slå opp Unicode-vertsnavnet.
Et proxy-vertsnavn kan inneholde internasjonale tegn i den viste formen. En klient eller oppløser som forventer IDNA ASCII-formen, trenger at vertsnavnet konverteres, ikke en vilkårlig prosent-escapet kopi av hele URL-en.
I PowerShell eksponerer .NET konverteringen direkte:
$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 er bare domenenavnet. Porten og skjemaet holdes adskilt. Bruk den resulterende proxyen på HTTP-klienten som sender forespørselen.
For en allerede parset Uri eksponerer IdnHost sin IDNA-kompatible vertsnavnrepresentasjon. Gå gjennom det opprinnelige endepunktet i stedet for å kode en allerede kodet etikett om og om igjen.
Skilj proxyens vertsnavn fra destinasjonens vertsnavn i en oppløsningsfeil. Konvertering av det ene retter ikke en skrivefeil eller manglende DNS-post på det andre. Behold også det tiltenkte vertsnavnet for sertifikatidentitet; å erstatte det med en vilkårlig IP-adresse endrer en annen del av tilkoblingen.