Bagikan melalui


Fungsi InternetGetCookieExA (wininet.h)

Fungsi InternetGetCookieEx mengambil data yang disimpan dalam cookie yang terkait dengan URL tertentu. Tidak seperti InternetGetCookie, InternetGetCookieEx dapat digunakan untuk membatasi data yang diambil ke satu nama cookie atau, berdasarkan kebijakan, yang terkait dengan situs yang tidak tepercaya atau cookie pihak ketiga.

Sintaks

BOOL InternetGetCookieExA(
  [in]                LPCSTR  lpszUrl,
  [in]                LPCSTR  lpszCookieName,
  [in, out, optional] LPSTR   lpszCookieData,
  [in, out]           LPDWORD lpdwSize,
  [in]                DWORD   dwFlags,
  [in]                LPVOID  lpReserved
);

Parameter

[in] lpszUrl

Penunjuk ke string yang dihentikan null yang berisi URL yang dikaitkan dengan cookie yang akan diambil. Parameter ini tidak boleh NULL atau InternetGetCookieEx gagal dan mengembalikan kesalahan ERROR_INVALID_PARAMETER .

[in] lpszCookieName

Penunjuk ke string yang dihentikan null yang berisi nama cookie yang akan diambil. Nama ini peka huruf besar/kecil.

[in, out, optional] lpszCookieData

Penunjuk ke buffer untuk menerima data cookie.

[in, out] lpdwSize

Penunjuk ke variabel DWORD.

Pada entri, variabel harus berisi ukuran, dalam TCHAR, dari buffer yang diacu oleh parameter pchCookieData .

Saat keluar, jika fungsi berhasil, variabel ini berisi jumlah TCHAR data cookie yang disalin ke dalam buffer. Jika NULL diteruskan sebagai parameter lpszCookieData , atau jika fungsi gagal dengan kesalahan ERROR_INSUFFICIENT_BUFFER, variabel berisi ukuran, dalam BYTEs, buffer yang diperlukan untuk menerima data cookie.

Parameter ini tidak boleh NULL atau InternetGetCookieEx gagal dan mengembalikan kesalahan ERROR_INVALID_PARAMETER .

[in] dwFlags

Bendera yang mengontrol cara fungsi mengambil data cookie. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
INTERNET_COOKIE_HTTPONLY
Mengaktifkan pengambilan cookie yang ditandai sebagai "HTTPOnly".

Jangan gunakan bendera ini jika Anda mengekspos antarmuka yang dapat ditulis, karena ini memiliki implikasi keamanan. Sangat penting bahwa Anda menggunakan bendera ini hanya jika Anda dapat menjamin bahwa Anda tidak akan pernah mengekspos cookie ke kode pihak ketiga dengan cara mekanisme ekstensibilitas yang Anda berikan.

Versi: Memerlukan Internet Explorer 8.0 atau yang lebih baru.

INTERNET_COOKIE_THIRD_PARTY
Hanya mengambil cookie pihak ketiga jika kebijakan secara eksplisit memungkinkan semua cookie untuk URL yang ditentukan diambil.
INTERNET_FLAG_RESTRICTED_ZONE
Hanya mengambil cookie yang akan diizinkan jika URL yang ditentukan tidak tepercaya; artinya, jika itu milik zona URLZONE_UNTRUSTED.

[in] lpReserved

Disiapkan untuk penggunaan masa mendatang. Atur ke NULL.

Nilai kembali

Jika fungsi berhasil, fungsi mengembalikan TRUE.

Jika fungsi gagal, fungsi akan mengembalikan FALSE. Untuk mendapatkan nilai kesalahan tertentu, panggil GetLastError.

Jika NULL diteruskan ke lpszCookieData, panggilan akan berhasil dan fungsi tidak akan diatur ERROR_INSUFFICIENT_BUFFER.

Kode kesalahan berikut dapat diatur oleh fungsi ini.

Menampilkan kode Deskripsi
ERROR_INSUFFICIENT_BUFFER
Dikembalikan jika data cookie yang diambil lebih besar dari ukuran buffer yang diacu oleh parameter pcchCookieData atau jika parameter tersebut adalah NULL.
ERROR_INVALID_PARAMETER
Dikembalikan jika parameter pchURL atau pcchCookieData adalah NULL.
ERROR_NO_MORE_ITEMS
Dikembalikan jika tidak ada data cookie seperti yang ditentukan yang dapat diambil.

Keterangan

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

Catatan

Header wininet.h mendefinisikan InternetGetCookieEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header wininet.h
Pustaka Wininet.lib
DLL Wininet.dll

Lihat juga

Cookie HTTP

InternetGetCookie

InternetSetCookie

InternetSetCookieEx

Mengelola Cookie

Fungsi WinINet