我正在编写一个 REST 客户端(使用 AFNetworking),并且需要能够在应用程序的单个实例中触发新会话的创建。
换句话说,我想:
1 - 使用服务器进行身份验证
2 - 进行一些 REST 调用
3 - 模拟“注销”
4 - 使用服务器重新进行身份验证
5 - 进行更多的 REST 调用
AFNetworking 非常适合进行初始身份验证和REST 调用,但我不知道如何清除会话并在同一实例中“重置”连接。
当我使用 ASIHTTP 时,我只是这样做了:
[ASIHTTPRequest clearSession];
有没有办法用 AFNetworking 做类似的事情?
问问题
6345 次
3 回答
9
使用AFHTTPClient
(参见示例项目中的 API 客户端)。
可以使用 设置凭据-setAuthorizationHeaderWithUsername:password:
。从该 HTTP 客户端创建的每个请求都有一个Authorization
HTTP 标头,有点像浏览器会话。
当用户注销或您想要清除凭据时,请执行-clearAuthorizationHeader
.
于 2012-01-31T05:30:40.847 回答
2
甚至更简单。
[request setHTTPShouldHandleCookies:NO];
于 2013-06-18T14:35:14.430 回答
1
据我所知,休息电话不是基于会话的。这意味着您无法在特定呼叫中模拟身份验证和注销会话。我认为您可以做的是为每个对端点进行的呼叫进行身份验证。因此,对于每个端点(方法),您都要对调用者进行身份验证。我认为这是你可以在一个宁静的系统中做的赌注。
于 2012-01-27T19:28:33.240 回答