Името на домаќин на прокси може да содржи меѓународни знаци во прикажаната форма. Клиент или резолвер што ја очекува IDNA ASCII формата бара тоа име на домаќин да биде претворено, а не произволна процентно-избегана копија на целиот URL.

Во PowerShell, .NET ја изложува претворбата директно:

$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 е само името на доменот. Портата и шемата остануваат одделни. Користете го добиеното прокси на HTTP клиентот што го прави барањето.

За веќе анализиран Uri, IdnHost ја изложува неговата IDNA-компатибилна претстава на името на домаќин. Прегледајте ја оригиналната крајна точка наместо постојано да кодирате веќе кодирана ознака.

Во грешка при решавање, разликувајте го името на домаќин на прокси од името на домаќин на одредиштето. Претворањето на едното не ја поправа правописната грешка или записот DNS што недостасува на другото. Зачувајте го предвиденото име на домаќин и за идентитетот на сертификатот; замената со произволна IP адреса менува друг дел од врската.

Поврзани статии