如何pipe理与AFNetworking的会话?

正如标题所暗示的,我在一个iOS项目中使用AFNetworking,在这个项目中,应用程序与服务器进行通信。 当用户login时,服务器通过发回成功标志来响应,并且响应标头包含会话标识。

我想知道是否AFNetworking会自动发送会话ID与每一个后续的请求,或者我应该照顾这个自己在某种程度上?

对于您的信息,我无法控制后端如何validation请求。 我只是build立一个与服务器交谈的客户端。

是的,只要在发送下一个请求之前Cookie不会过期,那么会话ID就应该在您login后自动发送(重要的细节可以确定)。 AFNetworking使用的NSURLConnection会为您处理这些细节。

在后端AFNetworking使用NSURLConnection自动更新NSHTTPCookieStorage存储会话。 您可以按照您认为合适的方式操作或删除Cookie,方法是混合Cookie存储。

就像如果您希望服务显示为未login,您可以删除与该域关联的会话cookie。 如果您已经login并尝试再次login,那么与之合作的一些服务将会出错。 此外,无法检查login状态。 快速修复,从URL中获取cookies并删除它们:

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

从开发者自己

这取决于您正在与之交互的服务所提供的规格。 我曾与类似的服务工作,他们在他们的文档中明确指出,为了保持会议有效,我必须每隔几秒轮询一次服务,通过发送int“1”。

但是,如果可能的话,请张贴服务名称或我们可以阅读的任何参考。 如果它是任何公司的私人API,那么他们必须描述他们正在返回的会话ID的使用。


潜在的技术将照顾它,但如果你想坚持这些cookies,那么这个答案的其他问题。

在iOS应用程序中坚持Cookie?