共用方式為


InternetGetCookieW 函式 (wininet.h)

擷取指定 URL 的 Cookie。

語法

BOOL InternetGetCookieW(
  [in]      LPCWSTR lpszUrl,
  [in]      LPCWSTR lpszCookieName,
  [out]     LPWSTR  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

傳回碼 Description
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 標頭中使用 “HttpOnly” 屬性標示為不可編寫腳本的 Cookie。

就像 WinINet API 的其他所有層面一樣,無法在 DllMain 或全域物件的建構函式和解構函式內安全地呼叫此函式。

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

注意

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

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 wininet.h
程式庫 Wininet.lib
Dll Wininet.dll

另請參閱

HTTP Cookie

InternetGetCookieEx

InternetSetCookie

InternetSetCookieEx

管理 Cookie

WinINet 函式