Nama host proksi dapat berisi karakter internasional dalam bentuk tampilannya. Klien atau resolver yang mengharapkan bentuk IDNA ASCII memerlukan nama host tersebut dikonversi, bukan salinan URL lengkap yang di-escape persen secara sembarangan.

Di PowerShell, .NET menyediakan konversi 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 tetap terpisah. Gunakan proksi yang dihasilkan pada klien HTTP yang membuat permintaan.

Untuk Uri yang sudah diurai, IdnHost menyediakan representasi nama host yang kompatibel dengan IDNA. Tinjau titik akhir asli alih-alih mengodekan ulang label yang sudah dikodekan berulang kali.

Bedakan nama host proksi dari nama host tujuan dalam kesalahan resolusi. Mengonversi salah satunya tidak memperbaiki salah eja atau catatan DNS yang hilang pada yang lain. Pertahankan juga nama host yang dimaksud untuk identitas sertifikat; menggantinya dengan alamat IP sembarangan mengubah bagian lain dari koneksi.

Artikel terkait