gpt4 book ai didi

ios - 如何清除 iOS 中特定域的 cookie?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:04:01 27 4
gpt4 key购买 nike

我已经搜索了 StackOverflow 上几乎所有的问题来寻找我的问题的答案。我没有找到任何有用的链接或教程来说明哪种方式最适合清除特定域的 cookie。如果有人可以帮助我,请帮帮我。

最佳答案

我自己找到了解决方案。如果您希望删除 UIWebView 中的整个 cookie,请执行此操作。

NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSHTTPCookie *cookie;
for (cookie in [storage cookies]) {
NSLog(@"%@", cookie); // Print the deleted cookie.
[storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];

如果您希望删除特定于一个站点或域的 cookie,请执行此操作。

NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSHTTPCookie *cookie;
for(cookie in [storage cookies]) {
if([[cookie domain] rangeOfString:@"siteName(or)domainName"].location != NSNotFound) {
NSLog(@"cookie to be deleted:%@", cookie);
[storage deleteCookie:cookie];
}
}

在上面的代码中,我使用了 siteName(或)DomainName 将其替换为您要删除 cookie 的站点。您必须知道每个域都有子域。如果您在那个地方提供 gobal 域名,它不会删除子域的 cookie。例如 LinkedIn,它有许多子域,如 in.linkedIn.com、api.linkedIn.com 等。如果我给 http://www.linkedin.com这是全局域名,它不会删除子域的 cookie。

NSHTTPCookie 具有域属性,因此使用它来获取所有域名并使用 rangeOfString:NSString 的方法获取具有您的字符串的域(例如 linkedin)。比删除它会删除其所有域的 cookie。

我没有人可以提供帮助,我希望至少我的帖子将来能对某人有所帮助。

关于ios - 如何清除 iOS 中特定域的 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13026432/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com