PowerShell-ൽ പ്രോക്സി ഹോസ്റ്റ്നെയിം IDNA ASCII-ലേക്ക് പരിവർത്തനം ചെയ്യുക
പ്രോക്സി എൻഡ്പോയിന്റിലെ ഉപയോക്താവിന് യൂണികോഡ് ഹോസ്റ്റ്നെയിം പരിഹരിക്കാൻ കഴിയാത്തപ്പോൾ ഒരു അന്താരാഷ്ട്ര ഡൊമെയിൻ നെയിം അതിന്റെ IDNA ASCII രൂപത്തിലേക്ക് പരിവർത്തനം ചെയ്യുക.
ഒരു പ്രോക്സി ഹോസ്റ്റ്നെയിമിന്റെ പ്രദർശിപ്പിച്ച രൂപത്തിൽ അന്താരാഷ്ട്ര പ്രതീകങ്ങൾ ഉണ്ടാകാം. IDNA ASCII രൂപം പ്രതീക്ഷിക്കുന്ന ക്ലയന്റിനോ റിസോൾവറിനോ ആ ഹോസ്റ്റ്നെയിം പരിവർത്തനം ചെയ്തത് ആവശ്യമാണ്, മുഴുവൻ URL-ന്റെയും അനിയന്ത്രിതമായ ശതമാനം-എസ്കേപ്പ് ചെയ്ത പകർപ്പല്ല.
PowerShell-ൽ, .NET പരിവർത്തനം നേരിട്ട് നൽകുന്നു:
$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 ഡൊമെയിൻ നെയിം മാത്രമാണ്. പോർട്ടും സ്കീമും വെവ്വേറെ നിൽക്കുന്നു. അഭ്യർത്ഥന നടത്തുന്ന HTTP ക്ലയന്റിൽ ഫലമായി ലഭിച്ച പ്രോക്സി ഉപയോഗിക്കുക.
ഇതിനകം പാഴ്സ് ചെയ്ത Uri-ക്ക്, IdnHost അതിന്റെ IDNA-അനുയോജ്യമായ ഹോസ്റ്റ്നെയിം പ്രാതിനിധ്യം നൽകുന്നു. ഇതിനകം എൻകോഡ് ചെയ്ത ലേബൽ വീണ്ടും വീണ്ടും എൻകോഡ് ചെയ്യുന്നതിന് പകരം യഥാർത്ഥ എൻഡ്പോയിന്റ് പരിശോധിക്കുക.
റെസല്യൂഷൻ പിശകിൽ പ്രോക്സിയുടെ ഹോസ്റ്റ്നെയിമും ലക്ഷ്യത്തിന്റെ ഹോസ്റ്റ്നെയിമും വേർതിരിച്ചറിയുക. ഒന്ന് പരിവർത്തനം ചെയ്യുന്നത് മറ്റൊന്നിലെ അക്ഷരത്തെറ്റോ കാണാത്ത DNS റെക്കോർഡോ തിരുത്തുന്നില്ല. സർട്ടിഫിക്കറ്റ് ഐഡന്റിറ്റിക്കായി ഉദ്ദേശിച്ച ഹോസ്റ്റ്നെയിമും നിലനിർത്തുക; അത് അനിയന്ത്രിതമായ ഒരു IP വിലാസം കൊണ്ട് മാറ്റുന്നത് കണക്ഷന്റെ മറ്റൊരു ഭാഗം മാറ്റുന്നു.