26.AFNetworking的使用

get/post请求处理

一.第一种方法
// AFHTTPRequestOperationManager内部包装了NSURLConnection
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

 NSDictionary *params = @{@"username" : @"aaa"};

[mgr GET(POST):@"qwq" parameters:params
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
 NSLog(@"请求成功---%@", responseObject);
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
 NSLog(@"请求失败---%@", error);
    }];

一.第二种方法
 // AFHTTPSessionManager内部包装了NSURLSession AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];

NSDictionary *params = @{ @"username" : @"520it"};

[mgr GET(POST):@"qqq" parameters:params success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"请求成功---%@", responseObject);
    } failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"请求失败---%@", error);
    }];

下载

// AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
//    
//[mgr downloadTaskWithRequest:<#(NSURLRequest *)#> progress:<#(NSProgress *__autoreleasing *)#> destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
//        return 
//    } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
//        
//    }];

上传

AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];

[mgr POST:@"ww" parameters:@{@"username" : @"123"}
        constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
// 在这个block中设置需要上传的文件
//NSData *data = [NSData dataWithContentsOfFile:@"/Users/xiaomage/Desktop/placeholder.png"];
//[formData appendPartWithFileData:data name:@"file" fileName:@"test.png" mimeType:@"image/png"];

//[formData appendPartWithFileURL:[NSURL fileURLWithPath:@"/Users/xiaomage/Desktop/placeholder.png"] name:@"file" fileName:@"xxx.png" mimeType:@"image/png" error:nil];

[formData appendPartWithFileURL:[NSURL fileURLWithPath:@"/Users/xiaomage/Desktop/placeholder.png"] name:@"file" error:nil];
    } success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"-------%@", responseObject);
    } failure:^(NSURLSessionDataTask *task, NSError *error) {

}];

AFN解析器的处理

AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
// 直接使用“服务器本来返回的数据”,不做任何解析
mgr.responseSerializer = [AFHTTPResponseSerializer serializer];

// [AFJSONResponseSerializer serializer]; // 解析服务器返回的JSON数据
// [AFXMLParserResponseSerializer serializer]; // 解析服务器返回的XML数据

[mgr GET:@"555" parameters:nil success:^(NSURLSessionDataTask *task, NSData *responseObject) {
NSLog(@"请求成功---%zd", responseObject.length);
    } failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"请求失败---%@", error);
}];

监控联网状态

AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
[manager startMonitoring];

[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    NSLog(@"%d", status);
}];

提示:要监控网络连接状态,必须要先调用单例的startMonitoring方法
//manager.networkReachabilityStatus; 拿到当前网络状态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值