Skakel 'n proxy-gasheernaam om na IDNA-ASCII in PowerShell
Skakel 'n geinternationaliseerde domeinnaam om na sy IDNA-ASCII-vorm wanneer die verbruiker van 'n proxy-eindpunt nie die Unicode-gasheernaam kan oplos nie.
'n Proxy-gasheernaam kan internasionale karakters in sy vertoonvorm bevat. 'n Kliënt of oplosser wat die IDNA-ASCII-vorm verwag, het daardie gasheernaam omgeskakel nodig, nie 'n willekeurige persent-geëskapeerde kopie van die hele URL nie.
In PowerShell stel .NET die omskakeling direk bloot:
$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 is slegs die domeinnaam. Die poort en skema bly apart. Gebruik die resulterende proxy op die HTTP-kliënt wat die versoek maak.
Vir 'n reeds ontlede Uri stel IdnHost sy IDNA-versoenbare gasheernaamvoorstelling bloot. Hersien die oorspronklike eindpunt eerder as om 'n reeds geënkodeerde etiket herhaaldelik te enkodeer.
Onderskei die proxy se gasheernaam van die bestemming se gasheernaam in 'n oplossingsfout. Om een om te skakel regstel nie 'n spelfout of ontbrekende DNS-rekord op die ander nie. Behou ook die beoogde gasheernaam vir sertifikaatidentiteit; om dit met 'n willekeurige IP-adres te vervang verander 'n ander deel van die verbinding.