CookieManager 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
CookieManager 提供了具體的實作, CookieHandler將 Cookie 的儲存與接受與拒絕 Cookie 的政策分開。
[Android.Runtime.Register("java/net/CookieManager", DoNotGenerateAcw=true)]
public class CookieManager : Java.Net.CookieHandler
[<Android.Runtime.Register("java/net/CookieManager", DoNotGenerateAcw=true)>]
type CookieManager = class
inherit CookieHandler
- 繼承
- 屬性
備註
CookieManager 提供了具體的實作, CookieHandler將 Cookie 的儲存與接受與拒絕 Cookie 的政策分開。 CookieManager 初始化時會以管理儲存的 a CookieStore 和 CookiePolicy 一個物件,負責對 Cookie 的接受或拒絕做出政策決策。
java.net 套件中的 HTTP Cookie 管理看起來像: <blockquote>
{@code
use
CookieHandler <------- HttpURLConnection
^
| impl
| use
CookieManager -------> CookiePolicy
| use
|--------> HttpCookie
| ^
| | use
| use |
|--------> CookieStore
^
| impl
|
Internal in-memory implementation
}
<ul><li> CookieHandler 是 Cookie 管理的核心。 使用者可以呼叫 CookieHandler.setDefault,設定一個具體的 CookieHanlder 實作來使用。 </li><li> CookiePolicy.shouldAccept 將由 CookieManager.put 呼叫,以判斷是否應該接受某個 cookie 並放入 cookie 商店。 使用者可以使用三種預先定義的 CookiePolicy 之一,分別是 ACCEPT_ALL、ACCEPT_NONE 和 ACCEPT_ORIGINAL_SERVER,或者使用者可以自行定義 CookiePolicy 實作並告訴 CookieManager 使用。 </li><li CookieStore> 是儲存任何已接受 HTTP Cookie 的地方。 若建立時未指定,CookieManager 實例將使用內部記憶體實作。 或者使用者可以實作一個,然後告訴 CookieManager 使用它。 </li><li> 目前,CookieManager僅使用 CookieStore.add(URI, HttpCookie)和 CookieStore.get(URI)。 其他則是為了完整性,且可能需要更先進的 CookieStore 實作,例如 NetscapeCookieStore。 </li></ul></blockquote>
使用者有多種方式可以連接自己的 HTTP Cookie 管理行為,例如 <blockquote><ul><li>使用 CookieHandler.setDefault 來設定全新的CookieHandler實作 <li>讓 CookieManager 成為預設CookieHandler實作,但實作使用者自己的 CookieStore 和 CookiePolicy 並告訴預設 CookieManager 使用它們:<blockquote>
// this should be done at the beginning of an HTTP session
CookieHandler.setDefault(new CookieManager(new MyCookieStore(), new MyCookiePolicy()));
</blockquote><li>讓 CookieManager 成為預設 CookieHandler 實作,但請使用自訂 CookiePolicy的 : <blockquote>
// 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());
</blockquote></ul></blockquote>
實作符合 RFC 2965,第 3.3 節。
新增於1.6版本。
的 java.net.CookieManagerJava 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
| 名稱 | Description |
|---|---|
| CookieManager() |
建立一個新的 Cookie 管理器。 |
| CookieManager(ICookieStore, ICookiePolicy) |
建立一個新的 Cookie 管理器,並指定 Cookie 商店和 Cookie 政策。 |
| CookieManager(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
傳回這個 |
| CookieStore |
要取得目前的 Cookie 商店。 |
| Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
CookieManager 提供了具體的實作, |
| JniPeerMembers |
CookieManager 提供了具體的實作, |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
| ThresholdType |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並傳回這個 對象的複本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
CookieManager 提供了具體的實作, |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
CookieManager 提供了具體的實作, |
| Equals(Object) |
CookieManager 提供了具體的實作, |
| Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
| Get(URI, IDictionary<String,IList<String>>) |
CookieManager 提供了具體的實作, |
| GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
| JavaFinalize() |
已淘汰.
當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。 (繼承來源 Object) |
| Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
| NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
| Put(URI, IDictionary<String,IList<String>>) |
CookieManager 提供了具體的實作, |
| SetCookiePolicy(ICookiePolicy) |
設定這個 Cookie 管理員的 Cookie 政策。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
CookieManager 提供了具體的實作, |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<> (繼承來源 Object) |
| Wait(Int64, Int32) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
| Wait(Int64) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
CookieManager 提供了具體的實作, |
| IJavaPeerable.Finalized() |
CookieManager 提供了具體的實作, |
| IJavaPeerable.JniObjectReferenceControlBlock |
CookieManager 提供了具體的實作, |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
CookieManager 提供了具體的實作, |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
CookieManager 提供了具體的實作, |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
CookieManager 提供了具體的實作, |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
CookieManager 提供了具體的實作, |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |