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 緩衝區的資料量。 如果 lpszCookieData 為 Null,此參數會收到值,指定複製所有 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 標頭中使用 「HttpOnly」 屬性標示為不可編寫腳本的 Cookie。
就像 WinINet API 的其他所有層面一樣,無法在 DllMain 或全域物件的建構函式和解構函式內安全地呼叫此函式。
注意
wininet.h 標頭會將 InternetGetCookie 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wininet.h |
程式庫 | Wininet.lib |
Dll | Wininet.dll |