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 સરનામાથી બદલવાથી કનેક્શનનો બીજો ભાગ બદલાય છે.