IDN-stöd i WinINet
Från och med Windows Server 2008 och Windows Vista konverteras värddelen av Unicode-URL:en till det internationaliserade domännamnet (IDN). Separata delar av Unicode-URL-kodningen kan också ändras av konfigurationer som angetts av programmet. ANSI-versionerna av WinINet-API:et fortsätter att skicka URL:en via kabeln enligt programmets angivna, men WinINet Unicode-versionerna av API:et överensstämmer nu med IDN-standarden (RFC3490) för URL-kodningar.
När en URL anges som en Unicode-parameter konverteras värddelen, för både proxy- och direktanslutningar, som standard till IDN-format. Programmet har möjlighet att inaktivera IDN-värdformatering genom att ange alternativet INTERNET_OPTION_IDN. IDN-värdkonvertering kan endast aktiveras på direkt- eller proxyanslutningar med hjälp av flaggorna INTERNET_FLAG_IDN_DIRECT eller INTERNET_FLAG_IDN_PROXY med INTERNET_OPTION_IDN.
I följande kodexempel visas hur du inaktiverar IDN-värdkonvertering för både proxy- och direktanslutningar.
DWORD IDN = 0;
InternetSetOption( hRequest,
INTERNET_OPTION_IDN,
&IDN,
sizeof(DWORD) );
Om IDN-värdformatering är inaktiverat har programmet möjlighet att ange önskad kodsida med hjälp av INTERNET_OPTION_CODEPAGE.
I följande kodexempel visas hur du anger den japanska kodsidan.
DWORD CP_SHIFT_JIS = 932; // ANSI/OEM Japanese, Shift-JIS
InternetSetOption( hRequest,
INTERNET_OPTION_CODEPAGE,
&CP_SHIFT_JIS,
Sizeof(DWORD) );
Sökvägsdelen av URL:en är UTF8-kodad som standard och de återstående segmenten i URL:en, frågan eller fragmentet, konverteras till standardsidan för systemkod (CP_ACP).
I följande exempel visas hur du anger den koreanska språkkodsidan för sökvägsdelen av URL:en.
DWORD CP_KOREAN = 949; // ANSI/OEM Korean
InternetSetOption( hRequest,
INTERNET_OPTION_CODEPAGE_PATH,
&CP_KOREAN,
sizeof(DWORD) );
I följande tabell definieras de alternativ som stöder IDN. Mer information finns i avsnittet Alternativflaggor.
Alternativ | Beskrivning |
---|---|
INTERNET_OPTION_CODEPAGE | Det här alternativet anges i begäran eller anslutningshandtaget för att ange ett kodningsschema för kodning av kodningskoder för värddelen av URL:en. Det här alternativet ignoreras om IDN är aktiverat. |
INTERNET_OPTION_CODEPAGE_PATH | Det här alternativet anges i begäran, eller så aktiverar anslutningshandtaget det angivna kodningsschemat för sökvägsdelen av URL:en. Som standard är sökvägsdelen av URL:en UTF8-kodad. |
INTERNET_OPTION_CODEPAGE_EXTRA | Om du anger det här alternativet för begäran eller anslutningshandtaget aktiveras det angivna kodningsschemat för den extra delen av URL:en. Som standard kodas den extra delen av URL:en på standardsidan för systemkod (CP_ACP). |
INTERNET_OPTION_IDN | Det här alternativet kan användas på begäran eller anslutningshandtaget för att aktivera eller inaktivera IDN-värdkonvertering. När IDN är inaktiverat använder WinINet standardsystemkodsidan för att koda värd- eller utfärdardelen av URL:en. |
Not
WinINet stöder inte serverimplementeringar. Dessutom bör den inte användas från en tjänst. För serverimplementeringar eller tjänster använder du Microsoft Windows HTTP Services (WinHTTP).