Bagikan melalui


Fungsi InternetGetCookieA (wininet.h)

Mengambil cookie untuk URL yang ditentukan.

Sintaksis

BOOL InternetGetCookieA(
  [in]      LPCSTR  lpszUrl,
  [in]      LPCSTR  lpszCookieName,
  [out]     LPSTR   lpszCookieData,
  [in, out] LPDWORD lpdwSize
);

Parameter

[in] lpszUrl

Penunjuk ke stringnull yang dihentikan yang menentukan URL tempat cookie akan diambil.

[in] lpszCookieName

Tidak diimplementasikan.

[out] lpszCookieData

Penunjuk ke buffer yang menerima data cookie. Parameter ini dapat null.

[in, out] lpdwSize

Pointer ke variabel yang menentukan ukuran buffer parameter lpszCookieData , dalam TCHAR. Jika fungsi berhasil, buffer menerima jumlah data yang disalin ke buffer lpszCookieData. Jika lpszCookieDataNULL, parameter ini menerima nilai yang menentukan ukuran buffer yang diperlukan untuk menyalin semua data cookie, yang dinyatakan sebagai jumlah byte.

Mengembalikan nilai

Jika fungsi berhasil, fungsi mengembalikan TRUE.

Jika fungsi gagal, fungsi mengembalikan FALSE. Untuk mendapatkan data kesalahan yang diperluas, panggil GetLastError.

Nilai kesalahan berikut berlaku untuk InternetGetCookie.

Mengembalikan kode Deskripsi
ERROR_NO_MORE_ITEMS
Tidak ada cookie untuk URL yang ditentukan dan semua orang tuanya.
ERROR_INSUFFICIENT_BUFFER
Nilai yang diteruskan dalam lpdwSize tidak cukup untuk menyalin semua data cookie. Nilai yang dikembalikan dalam lpdwSize adalah ukuran buffer yang diperlukan untuk mendapatkan semua data.
ERROR_INVALID_PARAMETER
Satu atau beberapa parameter tidak valid.

Parameter lpszUrl null.

Komentar

InternetGetCookie tidak memerlukan panggilan untuk InternetBuka. InternetGetCookie memeriksa direktori windows\cookies untuk cookie persisten yang memiliki tanggal kedaluwarsa yang ditetapkan di masa mendatang. InternetGetCookie juga mencari memori untuk cookie sesi apa pun, yaitu cookie yang tidak memiliki tanggal kedaluwarsa yang dibuat dalam proses yang sama oleh InternetSetCookie, karena cookie ini tidak ditulis ke file apa pun. Aturan untuk membuat file cookie bersifat internal bagi sistem dan dapat berubah di masa mendatang.

Seperti yang disebutkan dalam Cookie HTTP, InternetGetCookie tidak mengembalikan cookie yang ditandai sebagai tidak dapat ditulis dengan atribut "HttpOnly" di header Set-Cookie.

Seperti semua aspek lain dari API WinINet, fungsi ini tidak dapat dipanggil dengan aman dari dalam DllMain atau konstruktor dan destruktor objek global.

Note WinINet tidak mendukung implementasi server. Selain itu, tidak boleh digunakan dari layanan. Untuk implementasi atau layanan server, gunakan Microsoft Windows HTTP Services (WinHTTP).
 

Nota

Header wininet.h mendefinisikan InternetGetCookie sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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

Syarat Nilai
klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header wininet.h
Pustaka Wininet.lib
DLL Wininet.dll

Lihat juga

Cookie HTTP

InternetGetCookieEx

InternetSetCookie

InternetSetCookieEx

Mengelola Cookie

Fungsi WinINet