gpt4 book ai didi

ios - 如何使用 AFNetworking 管理 session ?

转载 作者:IT王子 更新时间:2023-10-29 07:35:30 28 4
gpt4 key购买 nike

正如标题所暗示的,我在应用程序与服务器对话的 iOS 项目中使用 AFNetworking。当用户登录时,服务器通过发回成功标志进行响应,响应 header 包含 session ID。

我想知道 AFNetworking 是否会在每个后续请求中自动发送 session ID,还是我应该以某种方式自己处理这个问题?

请注意,就如何验证请求而言,我无法控制后端。我只是在构建一个与服务器对话的客户端。

最佳答案

是的,只要在发送下一个请求之前 cookie 没有过期,您的 session ID 就会在您登录后自动发送(需要确定的重要细节)。 AFNetworking 使用的 NSURLConnection 会为您处理这些细节。

在后端 AFNetworking 使用 NSURLConnection,后者会自动更新 NSHTTPCookieStorage 以存储 session 。您可以通过破坏 cookie 存储来按照您认为合适的方式操纵或删除 cookie。

如果您想在服务中显示为未登录,您只需删除与该域关联的 session cookie。如果您已经登录并尝试再次登录,我使用过的一些服务会出错。此外,无法检查登录状态。快速修复,从 URL 获取 cookies 并删除它们:

NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: networkServerAddress];
for (NSHTTPCookie *cookie in cookies)
{
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}

From the developer himself

关于ios - 如何使用 AFNetworking 管理 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10984374/

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