首页 > 解决方案 > 如何遍历所有 cookie 并删除它们 Java

问题描述

声明 cookie 变量

private List<String> cookies;

收集饼干

    setCookies(httpConn.getHeaderFields().get("Set-Cookie"));

使用方法调用 cookie:

public List<String> getCookies() {
    return cookies;
}

设置cookie的方法:

public void setCookies(List<String> cookies) {
    this.cookies = cookies;
}

在构造函数中重置 cookie

public void Reset() {
    System.out.println("start clear and set....................");
    if (HttpClient.getCookies() != null) {
        for (Iterator iterator = HttpClient.getCookies().iterator(); iterator.hasNext();) {
            Object next = iterator.next();
            System.out.println(next);
            if (next != null) {

            iterator.remove();
            System.out.println("clearing....................");
            }
        }
    }
    System.out.println("cleared ,setting....................");
}

输出

start clear and set....................
PHPSESSID=vkqcf64f79bptfvf9e8volea23; path=/
start clear and set....................
_smasher_session=bb09471bbf02ad62a937c1cb75b7bf6c; domain=domain.com; path=/

我如何迭代和清除所有 cookie?

标签: javacookies

解决方案


只需清除您的列表,而不是迭代和删除

setCookies(Collections.emptyList());

HttpClient.getCookies()可能不会每次都返回相同的对象,因此如果您清除一个实例,则可能不会清除您使用 setCookies 设置的初始实例。


推荐阅读