PowerShell'de bir proxy ana bilgisayar adını IDNA ASCII'ye dönüştürme
Bir proxy uç noktasının kullanıcısı Unicode ana bilgisayar adını çözemediğinde uluslararasılaştırılmış alan adını IDNA ASCII biçimine dönüştürün.
Bir proxy ana bilgisayar adı, görüntülenen biçiminde uluslararası karakterler içerebilir. IDNA ASCII biçimini bekleyen bir istemci veya çözümleyici, tüm URL'nin rastgele yüzde kaçışlı bir kopyasını değil, o ana bilgisayar adının dönüştürülmüş halini gerektirir.
PowerShell'de .NET dönüşümü doğrudan sunar:
$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 yalnızca alan adıdır. Bağlantı noktası ve şema ayrı kalır. Ortaya çıkan proxy'yi isteği yapan HTTP istemcisinde kullanın.
Zaten ayrıştırılmış bir Uri için IdnHost, IDNA uyumlu ana bilgisayar adı gösterimini sunar. Zaten kodlanmış bir etiketi tekrar tekrar kodlamak yerine özgün uç noktayı gözden geçirin.
Bir çözümleme hatasında proxy'nin ana bilgisayar adını hedefin ana bilgisayar adından ayırt edin. Birini dönüştürmek diğerindeki bir yazım hatasını veya eksik DNS kaydını düzeltmez. Amaçlanan ana bilgisayar adını sertifika kimliği için de koruyun; onu rastgele bir IP adresiyle değiştirmek bağlantının başka bir bölümünü değiştirir.