在iOS中使用sendAchronousRequest:RequestAPI处理401状态码

编程入门 行业动态 更新时间:2024-10-20 07:55:02
本文介绍了在iOS中使用sendAchronousRequest:RequestAPI处理401状态码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用此方法API登录我的应用程序。

NSString *url = [NSString stringWithFormat:@"%@//login",xyz]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error]; if (!jsonData) { NSLog(@"Error creating JSON object: %@", [error localizedDescription]); } [request setValue:@"application/json;charset=utf-8" forHTTPHeaderField:@"Content-Type"]; [request setValue:APIKEY forHTTPHeaderField:@"X_API_KEY"]; [request setHTTPMethod:@"POST"]; [request setHTTPBody:jsonData]; [NSURLConnection sendAsynchronousRequest:request // the NSOperationQueue upon which the handler block will be dispatched: queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; NSDictionary *responseDict = [NSJSONSerialization JSONObjectWithData: data options: 0 error: &error]; //I am using sbjson to parse if(httpResponse.statusCode == 200) { //Show message to user success } else if(httpResponse.statusCode == 401) { //Show message to user -fail } else if(httpResponse.statusCode == 500) { //Show message to user- server error } }]; 当我使用正确的用户名和密码时,我得到的HTTPResponse和状态代码为200。但如果使用错误的用户名和密码,我将无法获得401。

那么如何处理这种情况

问候 兰吉特

推荐答案

您正在将NSURLResponse转换为NSHTTPURLResponse,但这不会自动公开您在statusCode属性中预期的实际值。

相反,您应该检查error属性是否已填充,并改为检查code属性。

if(error) { NSLog(@"error: %@", error.code); if(error.code == 401) { //handle 401 errors } else if(error.code == 500) { //handle 500 errors } } else { //successful request }

更多推荐

在iOS中使用sendAchronousRequest:RequestAPI处理401状态码

本文发布于:2023-11-17 12:15:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1609971.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:状态   sendAchronousRequest   iOS   RequestAPI

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!