Преобразуване на име на хост на прокси в IDNA ASCII в PowerShell
Преобразувайте интернационализирано име на домейн в неговата IDNA ASCII форма, когато потребителят на прокси крайна точка не може да разреши Unicode името на хоста.
Името на хост на прокси може да съдържа международни символи в показваната си форма. Клиент или резолвер, който очаква 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 адрес променя друга част от връзката.