Dela via


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).