Restkit Basic Auth,http代码405

时间:2012-11-14 09:43:57

标签: objective-c ios request restkit

我将以下代码用于使用基本http身份验证登录的界面。

  RKRequest *loginRequest = [[RKRequest alloc] initWithURL:URL];
  loginRequest.timeoutInterval = REST_LOGIN_TIMEOUT;
    loginRequest.username = username;
    loginRequest.password = password;
    loginRequest.authenticationType = RKRequestAuthenticationTypeHTTPBasic;
    loginRequest.method = RKRequestMethodPOST;
    loginRequest.onDidLoadResponse = ^(RKResponse *response) {
        // blabla
    }

    ....sending request...

我第一次登录时,它才有效。但是如果我再次执行相同的请求,我会得到一个HTTP状态代码405.当我重新启动我的应用程序时,下一个请求再次起作用。所以我认为它会自动保存一些数据,如会话令牌或内部的东西。我该如何重置?任何提示?

1 个答案:

答案 0 :(得分:4)

它确实会自动存储任何Cookie(包括会话Cookie)。要清除此问题,请使用以下命令:

NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in cookieStorage.cookies)
{
    [cookieStorage deleteCookie:cookie];
}

您当然可以首先检查Cookie,看看是否要删除它们。