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.

Articole similare