我正在编写REST客户端(使用AFNetworking),并且需要能够在应用程序的单个实例中触发创建新会话。
换句话说,我想:
1 - 使用服务器进行身份验证
2 - 做一些REST呼叫
3 - 模拟“退出”
4 - 使用服务器重新验证
5 - 多做一些REST调用
AFNetworking非常适合进行初始身份验证和REST调用,但我无法弄清楚如何清除会话并在同一个实例中“重置”连接。
当我使用ASIHTTP时,我只是做了:
[ASIHTTPRequest clearSession];
有没有办法与AFNetworking做类似的事情?
答案 0 :(得分:9)
使用AFHTTPClient
(请参阅示例项目中的API客户端)。
可以使用-setAuthorizationHeaderWithUsername:password:
设置凭据。从该HTTP客户端创建的每个请求都将具有Authorization
HTTP标头,类似于浏览器会话。
当用户退出或您想要清除凭据时,请执行-clearAuthorizationHeader
。
答案 1 :(得分:2)
更简单。
[request setHTTPShouldHandleCookies:NO];
答案 2 :(得分:1)
据我所知,休息电话不是基于会话的。这意味着您无法在特定调用中模拟身份验证和注销会话。我认为你能做的就是对每个对终点的调用进行身份验证。因此,对于每个端点(方法),您都会对调用者进行身份验证。我认为这是你可以在一个安静的系统中做的赌注。