AFNetworking 3.0.4 的使用

本文永久链接:http://www.cnblogs.com/qianLL/p/5342593.html

 

pod 'AFNetworking', '~>3.0.4'    <-------第三方

具体他的pod的过过程

http://www.cnblogs.com/qianLL/p/5331624.html

代码如下 

#import "ViewController.h"
#import "AFNetworking.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self Upload];
//    [self dataTask];
//    [self MultiUpload];
//    [self Serialization];
//    [self PostMethod];
//    [self Reacheab];
    
    
}
//下载
-(void)Download{
    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];
    
    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];
    
    NSURL *URL=[NSURL URLWithString:@"example/download"];
    NSURLRequest *request=[NSURLRequest requestWithURL:URL];
    
    NSURLSessionDownloadTask *downloadTask=[manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
        NSURL *documentsDirectoryURL=[[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
        return [documentsDirectoryURL URLByAppendingPathComponent:[response suggestedFilename]];
    } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
        NSLog(@"file downloaded to :%@",filePath);
    }];
    [downloadTask resume];
    
}
// 上传
-(void)Upload{
    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];
    
    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];
    
    NSURL *url=[NSURL  URLWithString:@"example/upload.php"];
    
    NSURLRequest *request=[NSURLRequest requestWithURL:url];
    
    NSURL *filePath=[NSURL fileURLWithPath:@"path/aa.txt"];
    
    NSURLSessionUploadTask *uploadTask=[manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
        if (error) {
            NSLog(@"Errof:%@",error);
        }else{
            NSLog(@"Success:%@ %@",response,responseObject);
        }
    }];
    [uploadTask resume];
}

-(void)MultiUpload{

    NSMutableURLRequest *request=[[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"https:example/upload.php"  parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
        [formData appendPartWithFileURL:[NSURL fileURLWithPath:@"path/1.png"] name:@"file" fileName:@"filename.jpg" mimeType:@"image/jpeg" error:nil];
    } error:nil];
    
    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    
    NSURLSessionUploadTask *uploadTask;
    
    uploadTask=[manager uploadTaskWithStreamedRequest:request progress:^(NSProgress * _Nonnull uploadProgress) {
        dispatch_async(dispatch_get_main_queue(), ^{
            [[UIProgressView new] setProgress:uploadProgress.fractionCompleted];
        });
    } completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
        if (error) {
            NSLog(@"errof:%@",error);
        }else{
            NSLog(@"%@ %@",response,responseObject);
        }
    }];
    
    [uploadTask resume];
}
// data Task
-(void)dataTask{
    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];
    
    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];
    
    NSURL *url=[NSURL URLWithString:@"http://1.studyios.sinaapp.com/gyxy.php?a=qq"];
    
    NSURLRequest *request=[NSURLRequest requestWithURL:url];
    
    NSURLSessionDataTask *dataTask=[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
        if (error) {
            NSLog(@"Error: %@",error);
        }else{
            NSLog(@"%@ %@",response,responseObject);
        }
    }];
    
    [dataTask resume];
}
//GET方法

-(void)Serialization{
    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];
    
    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];
    NSString *url=@"http://1.studyios.sinaapp.com/gyxy.php";
    NSDictionary *parameters=@{@"a":@"BB",@"b":@"CC",@"c":@"aa"};
   NSMutableURLRequest *request= [[AFHTTPRequestSerializer serializer]requestWithMethod:@"GET" URLString:url parameters:parameters error:nil];
    
    NSURLSessionDataTask *dataTask=[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
        if (error) {
            NSLog(@"Error: %@",error);
        }else{
            NSLog(@"%@",responseObject);
        }
    }];
    [dataTask resume];
    
}
//POST
-(void)PostMethod{
    NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];
    AFURLSessionManager *manager=[[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];
    NSString *url=@"http://1.studyios.sinaapp.com/mypost.php";
    NSDictionary *dic=@{@"can1":@"abc",@"can2":@"bcd"};
    NSMutableURLRequest *request=[[AFHTTPRequestSerializer serializer] requestWithMethod:@"POST" URLString:url parameters:dic error:nil];
//
//    

    
    NSURLSessionDataTask *dataTask=[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
        if (error) {
            NSLog(@"Error: %@",error);
        }else{
//            NSLog(@"%@",responseObject);
        NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
            NSLog(@"%@",dic);
        }
    }];
    [dataTask resume];

}

-(void)Reacheab{

    [[AFNetworkReachabilityManager sharedManager]setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        NSLog(@"reacheability:%@",AFStringFromNetworkReachabilityStatus(status));
    }];
    [[AFNetworkReachabilityManager sharedManager] startMonitoring];
}
-(void)SSLCertificates{
    AFHTTPSessionManager *manager=[AFHTTPSessionManager manager];
    manager.securityPolicy.allowInvalidCertificates=YES;
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

 

posted @ 2016-03-31 20:20  徒步天涯  阅读(981)  评论(0编辑  收藏  举报