Un nombre de host de proxy puede contener caracteres internacionales en su forma mostrada. Un cliente o resolutor que espera la forma IDNA ASCII necesita ese nombre de host convertido, no una copia escapada porcentual arbitraria de toda la URL.

En PowerShell, .NET expone la 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 es solo el nombre de dominio. El puerto y el esquema permanecen separados. Use el proxy resultante en el cliente HTTP que realiza la solicitud.

Para un Uri ya analizado, IdnHost expone su representación de nombre de host compatible con IDNA. Revise el punto de conexión original en lugar de codificar repetidamente una etiqueta ya codificada.

Distinga el nombre de host del proxy del nombre de host del destino en un error de resolución. Convertir uno no corrige una errata ni un registro DNS faltante en el otro. Conserve también el nombre de host previsto para la identidad del certificado; sustituirlo por una dirección IP arbitraria cambia otra parte de la conexión.

Artículos relacionados