Prevod názvu hostiteľa proxy na IDNA ASCII v PowerShelli
Preveďte internacionalizovaný názov domény do jeho podoby IDNA ASCII, keď spotrebiteľ koncového bodu proxy nedokáže vyriešiť názov hostiteľa Unicode.
Názov hostiteľa proxy môže v zobrazenej podobe obsahovať medzinárodné znaky. Klient alebo resolver, ktorý očakáva podobu IDNA ASCII, potrebuje tento názov hostiteľa prevedený, nie ľubovoľnú percentami escapovanú kópiu celého URL.
V PowerShelli .NET sprístupňuje prevod priamo:
$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 je len názov domény. Port a schéma zostávajú oddelené. Výsledný proxy použite v klientovi HTTP, ktorý požiadavku odosiela.
Pre už analyzovaný Uri sprístupňuje IdnHost svoju reprezentáciu názvu hostiteľa kompatibilnú s IDNA. Skontrolujte pôvodný koncový bod namiesto opakovaného kódovania už zakódovanej značky.
V chybe prekladu rozlišujte názov hostiteľa proxy od názvu hostiteľa cieľa. Prevod jedného neopraví preklep ani chýbajúci záznam DNS na druhom. Zachovajte zamýšľaný názov hostiteľa aj pre identitu certifikátu; nahradenie ľubovoľnou IP adresou mení inú časť spojenia.