8

我正在编写一个 REST 客户端(使用 AFNetworking),并且需要能够在应用程序的单个实例中触发新会话的创建。

换句话说,我想:
1 - 使用服务器进行身份验证
2 - 进行一些 REST 调用
3 - 模拟“注销”
4 - 使用服务器重新进行身份验证
5 - 进行更多的 REST 调用

AFNetworking 非常适合进行初始身份验证和REST 调用,但我不知道如何清除会话并在同一实例中“重置”连接。

当我使用 ASIHTTP 时,我只是这样做了:
[ASIHTTPRequest clearSession];

有没有办法用 AFNetworking 做类似的事情?

4

3 回答 3

9

使用AFHTTPClient(参见示例项目中的 API 客户端)。

可以使用 设置凭据-setAuthorizationHeaderWithUsername:password:。从该 HTTP 客户端创建的每个请求都有一个AuthorizationHTTP 标头,有点像浏览器会话。

当用户注销或您想要清除凭据时,请执行-clearAuthorizationHeader.

于 2012-01-31T05:30:40.847 回答
2

甚至更简单。

[request setHTTPShouldHandleCookies:NO];
于 2013-06-18T14:35:14.430 回答
1

据我所知,休息电话不是基于会话的。这意味着您无法在特定呼叫中模拟身份验证和注销会话。我认为您可以做的是为每个对端点进行的呼叫进行身份验证。因此,对于每个端点(方法),您都要对调用者进行身份验证。我认为这是你可以在一个宁静的系统中做的赌注。

于 2012-01-27T19:28:33.240 回答