码迷,mamicode.com
首页 > Web开发 > 详细

AFNetworking 框架实例

时间:2015-07-23 23:14:24      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

 
下载链接
1   return json & xml 
 - (void)cctv01

{

    // 1.获得请求管理者(管理请求, 帮助发请求)

    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    // 声明服务器返回的数据是JSON

    //    mgr.responseSerializer = [AFJSONResponseSerializer serializer];

    

    // 2.封装请求参数

    NSMutableDictionary *params = [NSMutableDictionary dictionary];

    params[@"username"] = @"123";

    params[@"pwd"] = @"123";

    

    // 3.发送GET请求

    [mgr GET:@"http://192.168.1.200:8080/Server/login" parameters:params

     success:^(AFHTTPRequestOperation *operation, id responseObject) { //  responseObject : 在这种情况下是字典

         NSLog(@"请求成功---%@", responseObject);

     }

     failure:^(AFHTTPRequestOperation *operation, NSError *error) {

         NSLog(@"请求失败---%@", error);

     }];

}

-----------

- (void)cctv02 (for json -> dictionary)

{

    // 1.获得请求管理者

    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    

    // 2.发送GET请求

    [mgr GET:@"http://192.168.1.200:8080/Server/video" parameters:nil

     success:^(AFHTTPRequestOperation *operation, NSDictionary *dict) { //  responseObject : 在这种情况下是字典

         NSLog(@"请求成功---%@", dict[@"videos"]);

     }

     failure:^(AFHTTPRequestOperation *operation, NSError *error) {

         NSLog(@"请求失败---%@", error);

     }];


-----------

- (void)cctv03 (for XML)

{

    // 1.获得请求管理者

    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];

    

    // 2.发送POST请求

    [mgr POST:@"http://192.168.1.200:8080/Server/video" parameters:@{@"type" : @"XML"}

     success:^(AFHTTPRequestOperation *operation, NSXMLParser *parser) {

         

     }

     failure:^(AFHTTPRequestOperation *operation, NSError *error) {

         NSLog(@"请求失败---%@", error);

     }];

}

-----------
2  downloading & uploading the data

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

    // 1.获得请求管理者

    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    

    // 2.发送请求(做文件上传)

    // parameters : 只能放非文件参数

    NSMutableDictionary *params = [NSMutableDictionary dictionary];

    params[@"username"] = @"zhangsan";

    

    [mgr POST:@"http://192.168.1.200:8080/Server/upload" parameters:params

      constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

          // 一定要在这个block中添加文件参数

          

          // 加载文件数据

          NSString *file = [[NSBundle mainBundle] pathForResource:@"test.txt" ofType:nil];

          NSData *data = [NSData dataWithContentsOfFile:file];

          

          // 拼接文件参数

          [formData appendPartWithFileData:data name:@"file" fileName:@"123.txt" mimeType:@"text/plain"];

    }

      success:^(AFHTTPRequestOperation *operation, id responseObject) {

        NSLog(@"上传成功----%@", responseObject);

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        NSLog(@"上传失败----%@", error);

    }];

    

    ----------

3  judge the network isOn

    // 1.获得网络监控的管理者

    AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];

 

    // 2.设置网络状态改变后的处理

    [mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        // 当网络状态改变了, 就会调用这个block

        switch (status) {

            case AFNetworkReachabilityStatusUnknown: // 未知网络

                NSLog(@"未知网络");

                break;

                

            case AFNetworkReachabilityStatusNotReachable: // 没有网络(断网)

                NSLog(@"没有网络(断网)");

                break;

                

            case AFNetworkReachabilityStatusReachableViaWWAN: // 手机自带网络

                NSLog(@"手机自带网络");

                break;

                

            case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI

                NSLog(@"WIFI");

                break;

        }

    }];

 

    // 3.开始监控

    [mgr startMonitoring];

    

//    mgr.isReachableViaWiFi

 

//    mgr.isReachableViaWWAN

 

AFNetworking 框架实例

标签:

原文地址:http://www.cnblogs.com/qq449832375/p/4671830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!