InternetGetCookieA 函式 (wininet.h)
擷取指定 URL 的 Cookie。
語法
BOOL InternetGetCookieA(
[in] LPCSTR lpszUrl,
[in] LPCSTR lpszCookieName,
[out] LPSTR lpszCookieData,
[in, out] LPDWORD lpdwSize
);
參數
[in] lpszUrl
null終止字串的指標,指定要擷取 Cookie 的 URL。
[in] lpszCookieName
未實作。
[out] lpszCookieData
接收 Cookie 數據的緩衝區指標。 此參數可以是 NULL
[in, out] lpdwSize
變數的指標,指定 TCHAR 中 lpszCookieData 參數緩衝區的大小。 如果函式成功,緩衝區會收到複製到 lpszCookieData 緩衝區的數據量。 如果 lpszCookieDataNULL,此參數會收到值,指定複製所有 Cookie 數據所需的緩衝區大小,以位元組計數表示。
傳回值
如果函式成功,函式會傳回 true 。
如果函式失敗,它會 FALSE傳回 。 若要取得擴充的錯誤資料,請呼叫 getLastError 。
下列錯誤值適用於 InternetGetCookie。
傳回碼 | 描述 |
---|---|
|
指定的 URL 及其所有父系沒有 Cookie。 |
|
傳入 lpdwSize 的值不足以複製所有 Cookie 數據。 lpdwSize 中傳回的值是取得所有數據所需的緩衝區大小。 |
|
一或多個參數無效。
lpszUrl 參數 NULL。 |
言論
InternetGetCookie 不需要呼叫 InternetOpen。 InternetGetCookie 會檢查 windows\cookies 目錄中是否有未來設定到期日的持續 Cookie。 InternetGetCookie 也會搜尋任何會話 Cookie 的記憶體,亦即,InternetSetCookie在相同進程中建立的 Cookie,因為這些 Cookie 不會寫入任何檔案。 建立 Cookie 檔案的規則是系統內部的,未來可能會變更。
如 HTTP Cookie中所述,InternetGetCookie 不會傳回伺服器在 Set-Cookie 標頭中標示為不可編寫腳本的 Cookie。
如同 WinINet API 的其他所有層面,無法從 DllMain 或全域物件的建構函式和解構函式安全地呼叫此函式。
注意
wininet.h 標頭會將 InternetGetCookie 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | wininet.h |
連結庫 | Wininet.lib |
DLL | Wininet.dll |