gpt4 book ai didi

iphone - NSURLConnection、基本身份验证和 Cookie 问题

转载 作者:太空狗 更新时间:2023-10-30 03:59:41 25 4
gpt4 key购买 nike

我发现我进行 REST 调用的服务器会将 cookie 传递到我的 iPhone。它还使用 HTTP Basic Auth。

我有一个应用程序,您可以在其中更改用于身份验证的帐户,但我发现更改凭据并不重要,因为从未调用过 didReceiveAuthenticationChallenge

我研究了两个可能的修复方法:

  • 每当凭据更改时手动删除 cookie
  • 设置[请求setHTTPShouldHandleCookies:NO]

我想知道我是否理解正确。我原以为 NSURLRequestReloadIgnoringCacheData 会负责缓存,但事实并非如此。

我该如何解决?

编辑: 我刚刚尝试将 shouldHandleCookies 设置为 NO,但 cookie 似乎仍会传递到服务器。

最佳答案

Rob,你说得很对,这似乎确实有问题。在某些情况下会设置 Cookie,以保留旧的身份验证凭据。其他人建议您可能需要像这样清除 cookie,这解决了我的问题:

 - (void)clearCookiesForURL {
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookies = [cookieStorage cookiesForURL:_URL];
for (NSHTTPCookie *cookie in cookies) {
NSLog(@"Deleting cookie for domain: %@", [cookie domain]);
[cookieStorage deleteCookie:cookie];
}
}

看看这个问题了解更多 didReceiveAuthenticationChallenge getting called only once iPhone

关于iphone - NSURLConnection、基本身份验证和 Cookie 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7491965/

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