Konverti proksilan gastigantnomon al IDNA ASCII en PowerShell
Konvertu internacian domajnan nomon al ĝia IDNA ASCII-formo, kiam la uzanto de proksila finpunkto ne povas solvi la Unikodan gastigantnomon.
Proksila gastigantnomo povas enhavi internaciajn signojn en sia montrata formo. Kliento aŭ solvilo, kiu atendas la IDNA ASCII-formon, bezonas tiun gastigantnomon konvertita, ne arbitran procente eskapitan kopion de la tuta URL.
En PowerShell, .NET elmetas la konvertadon rekte:
$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 estas nur la domajna nomo. La pordo kaj la skemo restas apartaj. Uzu la rezultajn proksilon en la HTTP-kliento, kiu faras la peton.
Por jam analizita Uri, IdnHost elmetas sian IDNA-kongruan gastigantnoman reprezenton. Kontrolu la originan finpunkton anstataŭ ripete kodi jam koditan etikedon.
Distingi la gastigantnomon de la proksilo disde tiu de la celo en solva eraro. Konverti unu ne korektas literumadan eraron aŭ mankan DNS-rikordon ĉe la alia. Konservu la intencitan gastigantnomon ankaŭ por la atestila identeco; anstataŭigi ĝin per arbitra IP-adreso ŝanĝas alian parton de la konekto.