Konverto një emër hosti proxy në IDNA ASCII në PowerShell
Konverto një emër domeni të internacionalizuar në formën e tij IDNA ASCII kur konsumatori i një pike fundore proxy nuk mund të zgjidhë emrin e hostit Unicode.
Një emër hosti proxy mund të përmbajë karaktere ndërkombëtare në formën e tij të shfaqur. Një klient ose zgjidhës që pret formën IDNA ASCII ka nevojë për atë emër hosti të konvertuar, jo për një kopje arbitrare të escape-uar me përqindje të të gjithë URL-së.
Në PowerShell, .NET e ekspozon konvertimin drejtpërdrejt:
$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 është vetëm emri i domenit. Porta dhe skema mbeten të ndara. Përdorni proxy-n që rezulton në klientin HTTP që bën kërkesën.
Për një Uri të analizuar tashmë, IdnHost ekspozon paraqitjen e emrit të hostit të përputhshëm me IDNA. Rishikoni pikën fundore origjinale në vend që të kodoni vazhdimisht një etiketë tashmë të koduar.
Në një gabim zgjidhjeje, dalloni emrin e hostit të proxy-t nga ai i destinacionit. Konvertimi i njërit nuk korrigjon një gabim shtypi ose një regjistrim DNS që mungon te tjetri. Ruani edhe emrin e hostit të synuar për identitetin e certifikatës; zëvendësimi i tij me një adresë IP arbitrare ndryshon një pjesë tjetër të lidhjes.