共用方式為


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

傳回碼 描述
ERROR_NO_MORE_ITEMS
指定的 URL 及其所有父系沒有 Cookie。
ERROR_INSUFFICIENT_BUFFER
傳入 lpdwSize 的值不足以複製所有 Cookie 數據。 lpdwSize 中傳回的值是取得所有數據所需的緩衝區大小。
ERROR_INVALID_PARAMETER
一或多個參數無效。

lpszUrl 參數 NULL

言論

InternetGetCookie 不需要呼叫 InternetOpenInternetGetCookie 會檢查 windows\cookies 目錄中是否有未來設定到期日的持續 Cookie。 InternetGetCookie 也會搜尋任何會話 Cookie 的記憶體,亦即,InternetSetCookie在相同進程中建立的 Cookie,因為這些 Cookie 不會寫入任何檔案。 建立 Cookie 檔案的規則是系統內部的,未來可能會變更。

HTTP Cookie中所述,InternetGetCookie 不會傳回伺服器在 Set-Cookie 標頭中標示為不可編寫腳本的 Cookie。

如同 WinINet API 的其他所有層面,無法從 DllMain 或全域物件的建構函式和解構函式安全地呼叫此函式。

注意 WinINet 不支援伺服器實作。 此外,不應該從服務使用。 針對伺服器實作或服務,請使用 Microsoft Windows HTTP 服務 (WinHTTP)
 

注意

wininet.h 標頭會將 InternetGetCookie 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 wininet.h
連結庫 Wininet.lib
DLL Wininet.dll

另請參閱

HTTP Cookie

InternetGetCookieEx

InternetSetCookie

InternetSetCookieEx

管理 Cookie

WinINet 函式