AFNetWorking 数据请求、数据上传、网络监控

原创 2015年11月20日 17:54:54
AFNetWorking请求完成数据后可以直接进行更新,它里面已经封装好自动回到主线程更新UI


使用AFNetWorking进行数据请求,以下为几种返回数据格式设定:

   //声明(默认):服务器返回的json数据,因为json格式比较规范,他会帮你解析成字典或数组
    session.responseSerializer= [AFJSONResponseSerializerserializer];
   
   
// 声明:服务器返回的是XML数据,我们自己进行解析
    session.
responseSerializer= [AFXMLParserResponseSerializerserializer];
   
   
//声明:不要对服务器返回的数据进行解析,直接返回data就行(如果是文件下载,使用这个(图片等))
    session.responseSerializer = [AFHTTPResponseSerializer serializer];

AFNetWorking网络请求数据步骤
1、创建管理者
2、封装请求参数
3、获得url字符串并发送get或post请求

若遇到解析不成功,可打印出error查看错误信息,可通过下方方式解决(AFNetWorking新版本)



二、数据上传:(使用的类:AFHTTPRequestOperationManager)使用Post请求  
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
   
   
NSString *urlStr = @"";
   
   
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
   
     [manager
POST:urlStr parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData _Nonnull formData) {
        
        
/*
          fileURL :
需要上传的文件的URL路径
          name
服务器那边接收文件所用的参数名
          fileName
(告诉服务器)所上传文件的文件名
          mimeType
所上传文件的类型
          */

        
//         [formData appendPartWithFileURL:<#(nonnull NSURL *)#> name:@"file" fileName:<#(nonnull NSString *)#> mimeType:<#(nonnull NSString *)#> error:nil]
        
        
/*
          fileURL :
需要上传的文件的具体数据
          name
服务器那边接收文件所用的参数名
          fileName
(告诉服务器)所上传文件的文件名
          mimeType
所上传文件的类型
          */

        
//         [formData appendPartWithFileData:<#(nonnull NSData *)#> name:<#(nonnull NSString *)#> fileName:<#(nonnull NSString *)#> mimeType:<#(nonnull NSString *)#>]
        
        
     }
success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {
        
NSLog(@"上传成功");
        
     }
failure:^(AFHTTPRequestOperation * _Nullable operation, NSError * _Nonnull error) {
        
         NSLog(@"上传失败");
     }];
}
三、网络状态监控(使用的类: AFNetworkReachabilityManager

    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
   
    [manager
setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
       
       
//当网络状态发生改变的时候调用这个block
       
       
switch (status) {
           
case AFNetworkReachabilityStatusReachableViaWiFi:
               
NSLog(@"wifi");
               
break;
           
case AFNetworkReachabilityStatusReachableViaWWAN:
               
NSLog(@"自带");
               
break;
           
case AFNetworkReachabilityStatusNotReachable:
               
NSLog(@"无网络");
               
break;
           
case AFNetworkReachabilityStatusUnknown:
               
NSLog(@"未知网络");
               
break;
               
           
default:
               
break;
        }
       
       
       
    }];
   
    [manager startMonitoring];

版权声明:本文为博主原创文章,未经博主允许不得转载,有问题可联系博主Email: liuyongjiesail@icloud.com

相关文章推荐

查看进行AFNetworking请求时的头部信息

我们在进行网络请求的时候,服务器是如何知道我们的手机类型和信息呢?这些信息是通过请求头部发送的。关于如何导入AFNetworking库,请查看我的另一篇博客《》...

网络监控支持数据上传

  • 2015年05月25日 22:40
  • 7.04MB
  • 下载

iOS 带缓存,带网络监控的数据请求

准备工作: 先导入运用到的第三方库AFNetWorking、YYCache 新建一个类,继承于NSObject 写一个请求方法的枚举: typedef NS_ENUM(NSUInteger, Requ...

网络监控数据中心的设置

近年来,监控行业进入了网络监控时代,除了政府、事业单位等对监控有工程型的需求外,个人对监控也是有非常强烈的需求的。个人的需求,就是大众需求,大众市场。主要用途是用来看住宅、商铺、仓库、柜台、档口、办公...

360buy android 首页打开网络监控数据分析

360buy android 首页打开网络监控数据分析一共10次链接,5次接口数据链接,5次图片... 主要分析接口数据链接见附件html... 从下往上看...五次接口tcp数据链接,七次请求,第三...

iOS学习----------AFNetworking(1)网络监控

名次解释 1、AFNetworking:AFNetworking是一款在OS X和iOS下都令人喜爱的网络库 github地址:https://github.com/AFNetworking/AF...
  • yziOS
  • yziOS
  • 2016年03月02日 14:49
  • 507

数据伞网络工具电脑网络监控软件

  • 2011年10月21日 09:50
  • 6.58MB
  • 下载

AFNetWorking的简单封装 图片音频 视频下载 上传 请求数据

第一步,继承AFNetWorking 最新的库 点击下载AFNetWorking 第二步,新建一个类,我们称之为NetWorkTool,继承NSObject 请求方法 声明: /**...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AFNetWorking 数据请求、数据上传、网络监控
举报原因:
原因补充:

(最多只允许输入30个字)