浅谈IOS中AFNetworking网络请求的get和post步骤
1.首先通过第三方:CocoaPods下载AFNetworking
1.1.先找到要查找的三方库:podsearch+AFNetworking
1.2.出来一堆列表页面,选择三方库最新版本命令,例如:pod‘MBProgressHUD','~>0.8' (:q返回)
1.3.创建工程,进入工程:cd+工程路径
1.4.编辑工程的Podfile文件:vimPodfile
1.5.(platform:iOS,‘8.0' target“工程名”do pod‘AFNetworking',‘~>3.1.0' end)新版本(编辑键i)->(Esc键:输入:wq返回)
1.6.6.保存Podfile的设置,然后进行更新下载三方库:podupdate
2.进入工程进行相关操作
//网络请求的头文件 #import<AFNetworking.h> @interfaceViewController() { //进行网络监测判断的bool值 BOOLisOpen; } //用于网络请求的Session对象 @property(nonatomic,strong)AFHTTPSessionManager*session; @end @implementationViewController -(void)viewDidLoad{ [superviewDidLoad]; //初始化Session对象 self.session=[AFHTTPSessionManagermanager]; //设置请求接口回来的时候支持什么类型的数据 self.session.responseSerializer.acceptableContentTypes=[NSSetsetWithObjects:@"application/json",@"text/json",@"text/javascript",@"application/x-json",@"text/html",nil]; } #pragmamark-网络监测按钮的响应方法 -(IBAction)NetworkmonitoringAction:(id)sender{ if(!isOpen){ //打开网络监测 [[AFNetworkReachabilityManagersharedManager]startMonitoring]; isOpen=YES; }else{ //关闭网络监测 [[AFNetworkReachabilityManagersharedManager]stopMonitoring]; isOpen=NO; } //接下来会判断当前是WiFi状态还是3g状态,网络不可用状态 [[AFNetworkReachabilityManagersharedManager]setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatusstatus){ switch(status){ caseAFNetworkReachabilityStatusUnknown: NSLog(@"当前网络处于未知状态"); break; caseAFNetworkReachabilityStatusNotReachable: NSLog(@"当前网络处于未链接状态"); break; caseAFNetworkReachabilityStatusReachableViaWWAN: NSLog(@"手机流量网络"); break; caseAFNetworkReachabilityStatusReachableViaWiFi: NSLog(@"wifi状态"); break; default: break; } }]; } #pragmamark-get请求 -(IBAction)getRequestAction:(id)sender{ //参数1:get请求的网址 //参数2:拼接参数 //参数3:当前的进度 //参数4:请求成功 //参数5:请求失败 [self.sessionGET:@"http://api.yhouse.com/m/city/dynmiclist"parameters:nilprogress:^(NSProgress*_NonnulldownloadProgress){ NSLog(@"下载的进度"); }success:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject){ NSLog(@"请求成功:%@",responseObject); }failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror){ NSLog(@"请求失败:%@",error); }]; } #pragmamark-post请求 -(IBAction)postRequestAction:(id)sender{ /*{ do="pri_memberlist"; "member_id"=zpHr2dsRvQQxYJxo2; "workspace_id"=ILfYpE4Dhs2gWcuQx; }*/ NSString*urlString=@"http://m.taskwedo.com/API/wedo1/wedo.php"; NSMutableDictionary*dict=[NSMutableDictionarydictionary]; [dictsetObject:@"pri_memberlist"forKey:@"do"]; [dictsetObject:@"zpHr2dsRvQQxYJxo2"forKey:@"member_id"]; [dictsetObject:@"ILfYpE4Dhs2gWcuQx"forKey:@"workspace_id"]; //参数1:url //参数2:body体 [self.sessionPOST:urlStringparameters:dictprogress:^(NSProgress*_NonnulluploadProgress){ NSLog(@"上传的进度"); }success:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject){ NSLog(@"post请求成功%@",responseObject); }failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror){ NSLog(@"post请求失败:%@",error); }]; } #pragmamark-post2请求 -(IBAction)postTwoRequestAction:(id)sender{ /*address=""; comment="\U7c7b\U6a21\U5757\U8ba1\U5212\U7528\U5230\U7b2c\U4e09\U90e8\U5206\U4e2d\Uff0c\U5f85\U63d0\U95ee\U3001\U56de\U7b54\U79ef\U7d2f\U5230\U4e00\U5b9a\U6570\U91cf\U65f6\Uff0c\U4fbf\U4e8e\U5927\U5bb6\U7684\U95ee\U9898\U7684\U5feb\U901f\U67e5\U627e\Uff0c\U6240\U4ee5\U63d0\U95ee\U90e8\U5206\U6682\U65f6\U4e0d\U52a0\U5165\U8fd9\U4e2a"; do="add_comment"; kind=task; "member_id"=zpHr2dsRvQQxYJxo2; other=""; "task_id"=55a47e79ec25e3641;*/ NSString*urlString=@"http://m.taskwedo.com/API/wedo1/wedo.php"; NSString*commonContent=@"类模块计划用到第三部分中,待提问、回答积累到一定数量时,便于大家的问题的快速查找,所以提问部分暂时不加入这个"; //把汉字进行编码 commonContent=[commonContentstringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]]; NSMutableDictionary*dict=[NSMutableDictionarydictionary]; [dictsetValue:@""forKey:@"address"]; [dictsetValue:commonContentforKey:@"comment"]; [dictsetValue:@"add_comment"forKey:@"do"]; [dictsetValue:@"task"forKey:@"kind"]; [dictsetValue:@"zpHr2dsRvQQxYJxo2"forKey:@"member_id"]; [dictsetValue:@""forKey:@"other"]; [dictsetValue:@"55a47e79ec25e3641"forKey:@"task_id"]; [self.sessionPOST:urlStringparameters:dictprogress:^(NSProgress*_NonnulluploadProgress){ NSLog(@"上传的进度"); }success:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject){ NSLog(@"post请求成功:%@",responseObject); }failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror){ NSLog(@"post请求失败:%@",error); }]; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。