RestKit如何处理身份验证失败

发布于 2024-12-15 16:38:45 字数 284 浏览 2 评论 0原文

我在 iPad 项目中取消了 RestKit,从服务器中提取了一些 JSON 数据。 iOS 应用程序需要通过基本 HTTP 身份验证进行身份验证。

如果我输入错误的凭据,我可以在控制台(模拟器)上看到:

W restkit.network:RKResponse.m:157 Failed authentication challenge after 1 failures

我怎样才能捕捉到这种情况?我在 RestKit 文档中没有找到任何内容(我确信一定有什么东西)。

I'm unsingf RestKit in my iPad Project pulling some JSON Data from Server. The iOS app needs to authenticate via Basic HTTP Authentication.

If i enter wrong credentials, i can see on the console (Simulator):

W restkit.network:RKResponse.m:157 Failed authentication challenge after 1 failures

How can i catch this situation? I found nothing in RestKit documentation (and i'm sure there must be something).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尸血腥色 2024-12-22 16:38:45

您是否尝试在 RKObjectLoaderDelegate 中实现适当的错误处理程序?

例如。

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error 
{
    RKLogError(@"Hit error: %@", error);
}

您应该收到 Error Domain=NSURLErrorDomain Code=-1012 或类似错误。

Did you tried to implement the appropriate error handler in you RKObjectLoaderDelegate?

eg.

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error 
{
    RKLogError(@"Hit error: %@", error);
}

You should get an error with Error Domain=NSURLErrorDomain Code=-1012 or similar.

苦妄 2024-12-22 16:38:45

检查restkit响应,我想你可以使用以下命令进行检查:

- (void) objectLoaderDidFinishLoading:(RKObjectLoader *)objectLoader{

    RKResponse *response = [objectLoader response];
    int statusCode = [response statusCode];

    if (![response isOK] || statusCode > 299) {

        id parsedResponse = [response parsedBody:NULL];
        if ([parsedResponse isKindOfClass:[NSDictionary class]]) {
            //check for the specific error here!!
        }

    }

}

Check the restkit response, I think you can check that using:

- (void) objectLoaderDidFinishLoading:(RKObjectLoader *)objectLoader{

    RKResponse *response = [objectLoader response];
    int statusCode = [response statusCode];

    if (![response isOK] || statusCode > 299) {

        id parsedResponse = [response parsedBody:NULL];
        if ([parsedResponse isKindOfClass:[NSDictionary class]]) {
            //check for the specific error here!!
        }

    }

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文