标签:
AFNetworking 底层是对NSURlSession 和对 NSURLConnect 的包装
- (void)update{ AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager POST:@"http://120.25.226.186:32812/upload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {// 在这个block中设置需要上传的文件 NSData *data = [NSData dataWithContentsOfFile:@"/Users/mac/Desktop/屏幕快照 2016-01-24 下午3.39.13.png"]; [formData appendPartWithFileData:data name:@"file" fileName:@"test.png" mimeType:@"image/png"]; } success:^(NSURLSessionDataTask *task, id responseObject) { NSLog(@"成功!"); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"失败!"); }]; }
2.1如果返回的数据格式是XML或者json时 可以按照以下办法:
- (void)update{ AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager]; // 可以改变mgr 解析的服务器返回数据的方式 默认是解析JSON // 在这里改为按xml格式解析数据 mgr.responseSerializer = [AFXMLParserResponseSerializer serializer]; NSDictionary *parameters = @{ @"username" : @"123", @"pwd" : @"123", @"type" : @"XML" }; [mgr GET:@"http://120.25.226.186:32812/login2" parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) { NSLog(@"sece %@",responseObject); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"error"); }]; }
2.2 如果是返回的是特殊格式 比如文件下载中返回数据
- (void)update{ AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager]; // 按服务器返回数据类型解析 mgr.responseSerializer = [AFHTTPResponseSerializer serializer]; // [AFXMLParserResponseSerializer serializer] // 服务器返回XML数据的解析器 // [AFJSONResponseSerializer serializer] // 服务器返回JSON的数据解析器 [mgr GET:@"http://120.25.226.186:32812/resources/images/minion_15.png" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { NSLog(@"sece %@",responseObject); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"error"); }]; }
2016 - 1 - 25 第三方网络框架 AFN的简单使用
标签:
原文地址:http://www.cnblogs.com/BJTUzhengli/p/5156459.html