首页 > 代码库 > AFN同步异步请求
AFN同步异步请求
异步请求:
-(BOOL)getOnlyKey1 { NSString *myUUIDStr = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; __block bool isTrue = false; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"]; NSString *urlstr = [NSString stringWithFormat:@"http://122.225.89.70:28080/try/check"]; NSURL *url = [NSURL URLWithString:urlstr]; NSDictionary *dic = @{@"imei":myUUIDStr,@"av":AppVersion}; [manager POST:urlstr parameters:dic success:^(AFHTTPRequestOperation *operation, id responseObject) { MyLog(@"%@", operation.responseString); NSRange range = [operation.responseString rangeOfString:@"\"msg\":\"0\""]; if (range.location != NSNotFound) { isTrue = true; } if (!isTrue) { SHOWALERT(@"错误", @"您须要联系开发者"); } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { MyLog(@"返回失败结果:%@", error.localizedFailureReason); SHOWALERT(@"错误", @"请求开发者server失败"); isTrue = true; }]; return isTrue; }
同步请求:
-(BOOL)getOnlyKey2 { NSString *myUUIDStr = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; BOOL isTrue = false; NSString *urlstr = [NSString stringWithFormat:@"http://122.225.89.70:28080/try/check"]; NSURL *url = [NSURL URLWithString:urlstr]; NSMutableURLRequest *urlrequest = [[NSMutableURLRequest alloc]initWithURL:url]; urlrequest.HTTPMethod = @"POST"; NSString *bodyStr = [NSString stringWithFormat:@"imei=%@&av=%@",myUUIDStr, AppVersion]; NSData *body = [bodyStr dataUsingEncoding:NSUTF8StringEncoding]; urlrequest.HTTPBody = body; AFHTTPRequestOperation *requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:urlrequest]; requestOperation.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"]; [requestOperation start]; [requestOperation waitUntilFinished]; MyLog(@"%@",requestOperation.responseString); NSRange range = [requestOperation.responseString rangeOfString:@"\"msg\":\"0\""]; if (range.location != NSNotFound) { isTrue = true; } if (!isTrue) { SHOWALERT(@"错误", @"您须要联系开发者"); } return isTrue; }
原生态的同步请求:
-(BOOL)getOnlyKey { NSString *myUUIDStr = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; //应用版本 NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary]; NSString* versionNum =[infoDict objectForKey:@"CFBundleVersion"]; NSString *urlString = [NSString stringWithFormat:@"http://122.225.89.70:28080/try/check"]; NSURL *url = [NSURL URLWithString:urlString]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"POST"]; NSString *bodyStr = [NSString stringWithFormat:@"imei=%@&av=%@",myUUIDStr, versionNum]; //将nstring转换成nsdata NSData *body = [bodyStr dataUsingEncoding:NSUTF8StringEncoding]; //MyLog(@"body data %@", body); [request setHTTPBody:body]; NSURLResponse *response = nil; NSError *error = nil; //第二,三个參数是指针的指针,全部要用取址符,这种方法是同步方法。同步操作没有完毕。后面的代码不会运行。 NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; // NSString *str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; // MyLog(@"返回结果是:%@", str); if (error == nil) { //接受到数据,表示工作正常 NSString *str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; MyLog(@"%@",str); NSRange range = [str rangeOfString:@"\"msg\":\"0\""]; if (range.location != NSNotFound) { return true; }else{ return false; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"出错鸟" message:@"您须要联系项目开发者" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil]; [alert show]; } } if(error != nil || response == nil) { return false; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"错误" message:@"登陆失败。网络不稳定" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil]; [alert show]; } return false; }
AFN同步异步请求
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。