Tukar Nama Hos Proksi kepada IDNA ASCII dalam PowerShell
Tukar nama domain terinternasionalisasi kepada bentuk IDNA ASCII apabila pengguna titik akhir proksi tidak dapat menyelesaikan nama hos Unicode.
Nama hos proksi boleh mengandungi aksara antarabangsa dalam bentuk paparannya. Klien atau penyelesai yang menjangka bentuk IDNA ASCII memerlukan nama hos itu ditukar, bukan salinan URL penuh yang dilepaskan peratus secara sewenang-wenangnya.
Dalam PowerShell, .NET mendedahkan penukaran itu secara langsung:
$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 hanyalah nama domain. Port dan skema kekal berasingan. Gunakan proksi yang terhasil pada klien HTTP yang membuat permintaan.
Untuk Uri yang sudah dihuraikan, IdnHost mendedahkan perwakilan nama hosnya yang serasi dengan IDNA. Semak titik akhir asal dan bukannya mengekod berulang kali label yang sudah dikodkan.
Bezakan nama hos proksi daripada nama hos destinasi dalam ralat penyelesaian. Menukar satu tidak membetulkan salah ejaan atau rekod DNS yang hilang pada yang lain. Kekalkan juga nama hos yang dimaksudkan untuk identiti sijil; menggantikannya dengan alamat IP sewenang-wenangnya mengubah bahagian lain sambungan.