浅谈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);
}];
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。