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 標頭中使用 「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 函式