Dukungan IDN di WinINet
Mulai Windows Server 2008 dan Windows Vista, bagian host dari URL Unicode dikonversi ke Nama Domain Internasional (IDN). Bagian terpisah dari pengodean URL Unicode juga dapat dimodifikasi oleh konfigurasi yang ditetapkan oleh aplikasi. Versi ANSI dari API WinINet terus mengirim URL melalui kawat seperti yang dimasukkan oleh aplikasi, namun versi WinINet Unicode dari API sekarang sesuai dengan standar IDN (RFC3490) untuk pengodean URL.
Secara default, ketika URL dimasukkan sebagai parameter Unicode, bagian host, untuk koneksi proksi dan langsung, dikonversi ke format IDN. Aplikasi ini memiliki opsi untuk menonaktifkan pemformatan host IDN dengan mengatur opsi INTERNET_OPTION_IDN . Konversi host IDN hanya dapat diaktifkan pada koneksi langsung atau proksi dengan menggunakan bendera INTERNET_FLAG_IDN_DIRECT atau INTERNET_FLAG_IDN_PROXY dengan INTERNET_OPTION_IDN.
Contoh kode berikut menunjukkan cara menonaktifkan konversi host IDN untuk proksi dan koneksi langsung.
DWORD IDN = 0;
InternetSetOption( hRequest,
INTERNET_OPTION_IDN,
&IDN,
sizeof(DWORD) );
Jika pemformatan host IDN dinonaktifkan, aplikasi memiliki opsi untuk menentukan halaman kode yang diinginkan menggunakan INTERNET_OPTION_CODEPAGE.
Contoh kode berikut menunjukkan cara menentukan halaman kode Jepang.
DWORD CP_SHIFT_JIS = 932; // ANSI/OEM Japanese, Shift-JIS
InternetSetOption( hRequest,
INTERNET_OPTION_CODEPAGE,
&CP_SHIFT_JIS,
Sizeof(DWORD) );
Bagian jalur URL dikodekan UTF8 secara default, dan segmen URL yang tersisa, kueri atau fragmen, dikonversi ke halaman kode sistem default (CP_ACP).
Contoh berikut menunjukkan cara menentukan halaman kode bahasa Korea untuk bagian jalur URL.
DWORD CP_KOREAN = 949; // ANSI/OEM Korean
InternetSetOption( hRequest,
INTERNET_OPTION_CODEPAGE_PATH,
&CP_KOREAN,
sizeof(DWORD) );
Tabel berikut menentukan opsi yang mendukung IDN. Untuk informasi selengkapnya, lihat topik Bendera opsi .
Opsi | Deskripsi |
---|---|
INTERNET_OPTION_CODEPAGE | Opsi ini diatur pada permintaan, atau handel koneksi, untuk menentukan skema pengodean halaman kode untuk bagian host URL. Opsi ini diabaikan jika IDN diaktifkan. |
INTERNET_OPTION_CODEPAGE_PATH | Opsi ini diatur pada permintaan, atau handel koneksi memungkinkan skema pengodean yang ditentukan untuk bagian jalur URL. Secara default, bagian jalur URL dikodekan UTF8. |
INTERNET_OPTION_CODEPAGE_EXTRA | Mengatur opsi ini pada permintaan, atau handel koneksi memungkinkan skema pengodean yang ditentukan untuk bagian tambahan URL. Secara default, bagian tambahan URL dikodekan di halaman kode sistem default (CP_ACP). |
INTERNET_OPTION_IDN | Opsi ini dapat digunakan pada permintaan, atau handel koneksi untuk mengaktifkan atau menonaktifkan konversi host IDN. Ketika IDN dinonaktifkan, WinINet menggunakan halaman kode sistem default untuk mengodekan host atau bagian otoritas URL. |
Catatan
WinINet tidak mendukung implementasi server. Selain itu, itu tidak boleh digunakan dari layanan. Untuk implementasi atau layanan server, gunakan Microsoft Windows HTTP Services (WinHTTP).