W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---java.net.CookieHandler
|---|---java.net.CookieManager
public class CookieManager
extends CookieHandler
CookieManager 提供了 CookieHandler 的具體實現(xiàn),它將 cookie 的存儲與接受和拒絕 cookie 的策略分開。 CookieManager 使用管理存儲的 CookieStore 和 CookiePolicy 對象進行初始化,該對象對 cookie 接受/拒絕做出策略決策。
java.net 包中的 HTTP cookie 管理如下所示:
use
CookieHandler <------- HttpURLConnection
^
| impl
| use
CookieManager -------> CookiePolicy
| use
|--------> HttpCookie
| ^
| | use
| use |
|--------> CookieStore
^
| impl
|
Internal in-memory implementation
用戶可以通過多種方式連接自己的 HTTP cookie 管理行為,例如
// this should be done at the beginning of an HTTP session
CookieHandler.setDefault(new CookieManager(new MyCookieStore(), new MyCookiePolicy()));
// this should be done at the beginning of an HTTP session
CookieHandler.setDefault(new CookieManager());
// this can be done at any point of an HTTP session
((CookieManager)CookieHandler.getDefault()).setCookiePolicy(new MyCookiePolicy());
構(gòu)造函數(shù) | 描述 |
---|---|
CookieManager() | 創(chuàng)建一個新的 cookie 管理器。 |
CookieManager(CookieStore store, CookiePolicy cookiePolicy) | 使用指定的 cookie 存儲和 cookie 策略創(chuàng)建一個新的 cookie 管理器。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
MapString,ListString | get(URI uri, MapString,ListString requestHeaders) | 從請求標(biāo)頭中指定 uri 的 cookie 緩存中獲取所有適用的 cookie。 |
CookieStore | getCookieStore() | 檢索當(dāng)前的 cookie 存儲。 |
void | put(URI uri, MapString,ListString responseHeaders) | 設(shè)置所有適用的 cookie,示例是名為 Set-Cookie2 的響應(yīng)頭字段,存在于 cookie 緩存中的響應(yīng)頭中。 |
void | setCookiePolicy(CookiePolicy cookiePolicy) | 設(shè)置此 cookie 管理器的 cookie 策略。 |
從類 java.net.CookieHandler 繼承的方法 |
---|
getDefault, setDefault |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public CookieManager()
創(chuàng)建一個新的 cookie 管理器。
此構(gòu)造函數(shù)將創(chuàng)建具有默認 cookie 存儲和接受策略的新 cookie 管理器。 效果同 CookieManager(null, null)。
public CookieManager(CookieStore store, CookiePolicy cookiePolicy)
使用指定的 cookie 存儲和 cookie 策略創(chuàng)建一個新的 cookie 管理器。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
store | Cookie 管理器使用的 CookieStore。 如果為 null,則 cookie 管理器將使用默認值,即內(nèi)存中的 CookieStore 實現(xiàn)。 |
cookiePolicy | cookie 管理器用作策略回調(diào)的 CookiePolicy 實例。 如果為 null,將使用 ACCEPT_ORIGINAL_SERVER。 |
public void setCookiePolicy(CookiePolicy cookiePolicy)
設(shè)置此 cookie 管理器的 cookie 策略。
默認情況下,CookieManager 的實例將具有 cookie 策略 ACCEPT_ORIGINAL_SERVER。 用戶始終可以調(diào)用此方法來設(shè)置另一個 cookie 策略。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
cookiePolicy | cookie 政策。 可以為 null,這對當(dāng)前的 cookie 策略沒有影響。 |
public CookieStore getCookieStore()
檢索當(dāng)前的 cookie 存儲。
返回:
cookie 管理器當(dāng)前使用的 cookie 存儲。
public MapString,ListString get(URI uri, MapString,ListString requestHeaders) throws IOException
從類復(fù)制的描述:CookieHandler
從請求標(biāo)頭中指定 uri 的 cookie 緩存中獲取所有適用的 cookie。
作為參數(shù)傳遞的 URI 指定了 cookie 的預(yù)期用途。 特別是該方案應(yīng)反映 cookie 是通過 http、https 發(fā)送還是在其他上下文(如 javascript)中使用。 在 javascript 的情況下,主機部分應(yīng)反映 cookie 的目的地或它們的來源。
由實現(xiàn)來考慮 URI 和 cookie 屬性和安全設(shè)置來確定應(yīng)該返回哪些。
HTTP 協(xié)議實現(xiàn)者應(yīng)確保在添加與選擇 cookie 相關(guān)的所有請求標(biāo)頭之后、發(fā)送請求之前調(diào)用此方法。
指定者:
進入類 CookieHandler
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
uri | 表示 cookie 的預(yù)期用途的 URI |
requestHeaders | - 從請求標(biāo)頭字段名稱到表示當(dāng)前請求標(biāo)頭的字段值列表的映射 |
返回:
從狀態(tài)管理標(biāo)頭(字段名稱為“Cookie”或“Cookie2”)到包含狀態(tài)信息的 cookie 列表的不可變映射
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
public void put(URI uri, MapString,ListString responseHeaders) throws IOException
從類復(fù)制的描述:CookieHandler
設(shè)置所有適用的 cookie,示例是名為 Set-Cookie2 的響應(yīng)頭字段,存在于 cookie 緩存中的響應(yīng)頭中。
指定者:
放入類 CookieHandler
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
uri | cookie 的來源 URI |
responseHeaders | 從字段名稱到表示返回的響應(yīng)標(biāo)頭字段的字段值列表的不可變映射 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: