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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。