Convertiți un nume de gazdă proxy în IDNA ASCII în PowerShell
Convertiți un nume de domeniu internaționalizat în forma sa IDNA ASCII atunci când consumatorul unui punct final proxy nu poate rezolva numele de gazdă Unicode.
Un nume de gazdă proxy poate conține caractere internaționale în forma sa afișată. Un client sau un resolver care așteaptă forma IDNA ASCII are nevoie de acel nume de gazdă convertit, nu de o copie arbitrară cu escape procentual a întregului URL.
În PowerShell, .NET expune conversia direct:
$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 este doar numele de domeniu. Portul și schema rămân separate. Folosiți proxy-ul rezultat în clientul HTTP care face cererea.
Pentru un Uri deja analizat, IdnHost expune reprezentarea sa de nume de gazdă compatibilă cu IDNA. Examinați punctul final original în loc să codificați în mod repetat o etichetă deja codificată.
Distingeți numele de gazdă al proxy-ului de cel al destinației într-o eroare de rezolvare. Convertirea unuia nu corectează o greșeală de ortografie sau o înregistrare DNS lipsă la celălalt. Păstrați și numele de gazdă dorit pentru identitatea certificatului; înlocuirea lui cu o adresă IP arbitrară modifică o altă parte a conexiunii.