Converter un nome de host do proxy a IDNA ASCII en PowerShell
Converte un nome de dominio internacionalizado á súa forma IDNA ASCII cando o consumidor dun punto de conexión proxy non pode resolver o nome de host Unicode.
Un nome de host de proxy pode conter caracteres internacionais na súa forma mostrada. Un cliente ou resolvedor que espera a forma IDNA ASCII necesita ese nome de host convertido, non unha copia escapada porcentual arbitraria de todo o URL.
En PowerShell, .NET expón a conversión directamente:
$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 é só o nome de dominio. O porto e o esquema permanecen separados. Use o proxy resultante no cliente HTTP que realiza a solicitude.
Para un Uri xa analizado, IdnHost expón a súa representación de nome de host compatible con IDNA. Revise o punto de conexión orixinal en lugar de codificar repetidamente unha etiqueta xa codificada.
Distinga o nome de host do proxy do nome de host do destino nun erro de resolución. Converter un non corrixe unha errata nin un rexistro DNS faltante no outro. Conserve tamén o nome de host previsto para a identidade do certificado; substituílo por un enderezo IP arbitrario cambia outra parte da conexión.