异步请求:
-(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(@"错误", @"请求开发人员服务器失败"); 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; }
时间: 2024-10-08 06:53:09