IDN-támogatás a WinINetben
A Windows Server 2008-tól és a Windows Vista-tól kezdve a Unicode URL-cím gazdagéprésze nemzetközi tartománynévvé (IDN) lesz konvertálva. A Unicode URL-kódolás különálló részei az alkalmazás által beállított konfigurációkkal is módosíthatók. A WinINet API ANSI-verziói továbbra is a vezetéken keresztül küldik el az URL-címet az alkalmazás által megadott módon, de az API WinINet Unicode-verziói most már megfelelnek az URL-kódolások IDN-szabványának (RFC3490).
Alapértelmezés szerint, ha egy URL-címet Unicode-paraméterként ad meg, a gazdagéprész a proxy és a közvetlen kapcsolatok esetében is IDN formátumúvá lesz konvertálva. Az alkalmazás letilthatja az IDN-gazdagép formázását a INTERNET_OPTION_IDN beállítás beállításával. Az IDN-gazdagépek konvertálása csak a közvetlen vagy proxykapcsolatokon engedélyezhető a INTERNET_FLAG_IDN_DIRECT vagy a INTERNET_FLAG_IDN_PROXY jelzők INTERNET_OPTION_IDNhasználatával.
Az alábbi példakód bemutatja, hogyan tilthatja le az IDN-gazdagépek konvertálását mind a proxy, mind a közvetlen kapcsolatok esetében.
DWORD IDN = 0;
InternetSetOption( hRequest,
INTERNET_OPTION_IDN,
&IDN,
sizeof(DWORD) );
Ha az IDN-gazdagép formázása le van tiltva, az alkalmazásnak lehetősége van a kívánt kódlap megadására a INTERNET_OPTION_CODEPAGEhasználatával.
Az alábbi példakód bemutatja, hogyan adhatja meg a japán kódlapot.
DWORD CP_SHIFT_JIS = 932; // ANSI/OEM Japanese, Shift-JIS
InternetSetOption( hRequest,
INTERNET_OPTION_CODEPAGE,
&CP_SHIFT_JIS,
Sizeof(DWORD) );
Az URL elérési út része alapértelmezés szerint UTF8 kódolású, és az URL fennmaradó szegmensei, a lekérdezés vagy a töredék az alapértelmezett rendszerkódlapra (CP_ACP) lesznek konvertálva.
Az alábbi példa bemutatja, hogyan adhatja meg az URL elérési út részének koreai nyelvű kódlapját.
DWORD CP_KOREAN = 949; // ANSI/OEM Korean
InternetSetOption( hRequest,
INTERNET_OPTION_CODEPAGE_PATH,
&CP_KOREAN,
sizeof(DWORD) );
Az alábbi táblázat az IDN-t támogató beállításokat határozza meg. További információ: Option flags topic.
Opció | Leírás |
---|---|
INTERNET_OPTION_CODEPAGE | Ez a beállítás a kérelemben vagy a kapcsolatkezelőben van beállítva az URL-cím gazdagéprészéhez tartozó kódlapkódolási séma megadásához. Ezt a beállítást a rendszer figyelmen kívül hagyja, ha az IDN engedélyezve van. |
INTERNET_OPTION_CODEPAGE_PATH | Ez a beállítás a kérelemben van beállítva, vagy a kapcsolatkezelő engedélyezi a megadott kódolási sémát az URL elérési út részének. Alapértelmezés szerint az URL elérési útja UTF8 kódolású. |
INTERNET_OPTION_CODEPAGE_EXTRA | Ha ezt a beállítást a kérelemre állítja be, vagy a kapcsolatkezelő lehetővé teszi a megadott kódolási sémát az URL-cím további részére. Alapértelmezés szerint az URL-cím további része az alapértelmezett rendszerkódlapon (CP_ACP) van kódolva. |
INTERNET_OPTION_IDN | Ez a beállítás használható a kérelemben vagy a kapcsolati leíróban az IDN-gazdagépek konvertálásának engedélyezéséhez vagy letiltásához. Ha az IDN le van tiltva, a WinINet az alapértelmezett rendszerkódlap használatával kódolja az URL gazdagépét vagy szolgáltatóját. |
Jegyzet
A WinINet nem támogatja a kiszolgálói implementációkat. Emellett nem használható szolgáltatásból. Kiszolgálói implementációkhoz vagy szolgáltatásokhoz használja Microsoft Windows HTTP Services (WinHTTP).