使用AFNetworking重置基本authentication凭证

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

换句话说,我想:
1 – 与服务器进行身份validation
2 – 做一些REST呼叫
3 – 模拟“注销”
4 – 重新validation与服务器
5 – 做更多的REST电话

AFNetworking非常适合初始身份validation和REST调用,但我无法弄清楚如何清除会话并在同一个实例中“重置”连接。

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

有没有办法做类似的AFNetworking?

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

凭证可以通过-setAuthorizationHeaderWithUsername:password:来设置。 从该HTTP客户端创build的每个请求都将有一个Authorization HTTP头,类似于浏览器会话。

当用户注销,或者你想清除凭据时,请执行-clearAuthorizationHeader

更简单。

 [request setHTTPShouldHandleCookies:NO]; 

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