Ett proxy-värdnamn kan innehålla internationella tecken i sin visade form. En klient eller resolver som förväntar sig IDNA ASCII-formen behöver det värdnamnet konverterat, inte en godtycklig procent-escapad kopia av hela URL:en.

I PowerShell exponerar .NET konverteringen direkt:

$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 är bara domännamnet. Porten och schemat hålls åtskilda. Använd den resulterande proxyn i HTTP-klienten som gör begäran.

För en redan parsad Uri exponerar IdnHost sin IDNA-kompatibla värdnamnsrepresentation. Granska den ursprungliga slutpunkten i stället för att upprepat koda en redan kodad etikett.

Skilj på proxyns värdnamn och målets värdnamn i ett upplösningsfel. Att konvertera det ena rättar inte ett stavfel eller en saknad DNS-post på det andra. Behåll också det avsedda värdnamnet för certifikatidentiteten; att ersätta det med en godtycklig IP-adress ändrar en annan del av anslutningen.

Relaterade artiklar