當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java java.net.CookieStore用法及代碼示例


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 : []


相關用法


注:本文由純淨天空篩選整理自venniladeenan大神的英文原創作品 java.net.CookieStore Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。