CookieStore是Java中的一個接口,是cookie的存儲區域。它用於存儲和檢索 cookie。 CookieStore 負責刪除已過期的 HTTPCookie 實例。
CookieManager 通過調用 CookieStore.add() 將 cookie 添加到每個傳入 HTTP 響應的 CookieStore 中,並通過調用 CookieStore.get() 從每個傳出 HTTP 請求的 CookieStore 中檢索 cookie。
CookieStore接口內的方法如下表所示。
方法 | 執行的操作 |
---|---|
add(URI uri, HttpCookie cookie) | 向存儲區添加一個 HTTP cookie。 |
get(URI uri) | 檢索域與 URI 匹配的 cookie。 |
getCookies() | 獲取CookieStore中所有未過期的cookie。 |
getURIs() | 獲取CookieStore中標識cookie的所有URI |
remove(URI uri, HttpCookie cookie) | 從 CookieStore 中刪除 cookie |
removeAll() | 刪除 CookieStore 中的所有 cookie |
方法一:添加(URI uri,HttpCookie cookie)
add(URI uri, HttpCookie cookie) 方法向存儲區添加一個 HTTP cookie。每個傳入的 HTTP 響應都會調用此方法。如果與給定 URI 對應的 cookie 已存在,則將其替換為新的 cookie。
用法:
public void add(URI uri, HttpCookie cookie)
方法二:獲取(URI uri)
獲取(URI uri)方法檢索域與 URI 匹配的 cookie。每次傳出時都會調用此方法HTTP請求。它返回未過期的 HTTP cookie 的不可變列表。如果沒有 cookie 與 URI 匹配,則返回一個空列表。如果參數 URI 作為 null 傳遞,則會引發異常 NullPointerException .
用法:
public List<HttpCookie> get(URI uri)
方法三:獲取 Cookies(
getCookies() 方法從 CookieStore 中檢索所有未過期的 cookie。它返回一個不可變的 HTTP cookie 列表。如果 CookieStore 中沒有 cookie,則返回一個空列表。
用法:
public List<HttpCookie> getCookies()
方法四:getURIs()
getURIs() 方法檢索標識 CookieStore 中 cookie 的所有 URI,並返回不可變的 URI 列表。如果 CookieStore 中沒有 cookie 與 URI 關聯,它將返回一個空列表。
用法:
public List<URI uri> getURIs()
方法五:刪除(URI uri,HttpCookie cookie)
remove(URI uri, HttpCookie cookie) 方法刪除 CookieStore 中 URI 與給定 cookie 關聯的 cookie。如果要刪除的 cookie 在添加時與 URI 無關,則 URI 將作為 null 傳遞。如果 cookie 作為 null 傳遞,則會拋出 NullPointerException 。如果 cookie 被成功刪除,那麽它返回一個布爾值 true。
用法:
public boolean remove(URI uri, HttpCookie cookie)
方法六:removeAll()
removeAll() 方法刪除 CookieStore 中的所有 cookie。如果成功刪除所有 cookie,則返回布爾值 true。
用法:
public boolean removeAll()
程序:
Java
import java.io.*;
import java.net.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// CookieManager and CookieStore
CookieManager cookieManager = new CookieManager();
CookieStore cookieStore
= cookieManager.getCookieStore();
// creating cookies and URI
HttpCookie cookieA = new HttpCookie("First", "1");
HttpCookie cookieB = new HttpCookie("Second", "2");
URI uri
= URI.create("https://www.geeksforgeeks.org/");
// Method 1 - add(URI uri, HttpCookie cookie)
cookieStore.add(uri, cookieA);
cookieStore.add(null, cookieB);
System.out.println(
"Cookies successfully added\n");
// Method 2 - get(URI uri)
List cookiesWithURI = cookieStore.get(uri);
System.out.println(
"Cookies associated with URI in CookieStore : "
+ cookiesWithURI + "\n");
// Method 3 - getCookies()
List cookieList = cookieStore.getCookies();
System.out.println("Cookies in CookieStore : "
+ cookieList + "\n");
// Method 4 - getURIs()
List uriList = cookieStore.getURIs();
System.out.println("URIs in CookieStore" + uriList
+ "\n");
// Method 5 - remove(URI uri, HttpCookie cookie)
System.out.println(
"Removal of Cookie : "
+ cookieStore.remove(uri, cookieA));
List remainingCookieList = cookieStore.getCookies();
System.out.println(
"Remaining Cookies : " + cookieList + "\n");
// Method 6 - removeAll()
System.out.println("Removal of all Cookies : "
+ cookieStore.removeAll());
List EmptyCookieList = cookieStore.getCookies();
System.out.println(
"Empty CookieStore : " + cookieList);
}
}
Cookies successfully added Cookies associated with URI in CookieStore : [First="1"] Cookies in CookieStore : [First="1", Second="2"] URIs in CookieStore[https://www.geeksforgeeks.org] Removal of Cookie : true Remaining Cookies : [Second="2"] Removal of all Cookies : true Empty CookieStore : []
相關用法
- Java java.net.CookiePolicy用法及代碼示例
- Java java.net.CookieHandler用法及代碼示例
- Java java.net.CookieManager用法及代碼示例
- Java java.net.CacheResponse用法及代碼示例
- Java java.net.CacheRequest用法及代碼示例
- Java java.net.SocketException用法及代碼示例
- Java java.net.Proxy用法及代碼示例
- Java java.net.ProxySelector用法及代碼示例
- Java java.net.ProtocolFamily用法及代碼示例
- Java java.net.SocketOption用法及代碼示例
- Java java.net.SecureCacheResponse用法及代碼示例
- Java java.net.SocketImplFactory用法及代碼示例
- Java java.net.ResponseCache用法及代碼示例
- Java java.net.URLPermission用法及代碼示例
- Java java.net.NetPermission用法及代碼示例
- Java java.net.FileNameMap用法及代碼示例
- Java java.net.PasswordAuthentication用法及代碼示例
- Java java.net.BindException用法及代碼示例
- Java java.net.URLConnection用法及代碼示例
- Java java.net.Socket用法及代碼示例
- Java java.net.ServerSocket用法及代碼示例
- Java java.net.InetAddress用法及代碼示例
- Java java.nio.ByteBuffer用法及代碼示例
- Java java.nio.IntBuffer用法及代碼示例
- Java java.nio.file.FileStore用法及代碼示例
注:本文由純淨天空篩選整理自venniladeenan大神的英文原創作品 java.net.CookieStore Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。