设为首页 加入收藏

TOP

iOS开发-AFNetworking封装Get(自定义HTTP Header)和Post请求及文件下载(一)
2017-10-11 13:57:17 】 浏览:2632
Tags:iOS 开发 -AFNetworking 封装 Get 定义 HTTP Header Post 请求 文件下载

前面提到AFNetworking是一个很强大的网络三方库,首先你需要引入AFNetworking三方库;如封装的有误还请指出,谢谢!

1.Get请求

/**Get请求

 url 服务器请求地址

 success 服务器响应返回的结果

 faile  失败的信息

 */

+ (void)getHttpRequestURL:(NSString *)url RequestSuccess:(void(^)(id repoes,NSURLSessionDataTask *task)) success RequestFaile:(void(^)(NSError *error))faile{

   AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

   manager.responseSerializer = [AFHTTPResponseSerializer serializer];//放弃解析

    ///自定义http header 此处可省略

   /// [manager.requestSerializer setValue:@"application/json"forHTTPHeaderField:@"Accept"];

   /// [manager.requestSerializer setValue:@"application/json;charset=utf-8"forHTTPHeaderField:@"Content-Type"];

   /// [manager.requestSerializer setValue:@"http header" forHTTPHeaderField:@"XiaoGuiGe"];

    [manager.requestSerializer setHTTPShouldHandleCookies:NO];

    [manager GET:url parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        if (success) {

            //返回成功结果

            success(responseObject,task);

        }

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        //返回失败结果

        faile(error);

    }];

}

2.Post请求

/**Post请求

 url 服务器请求地址

 pram 请求参数

 success 服务器响应返回的结果

 faile  失败的信息

 */

+ (void)postHttpRequestURL:(NSString *)url RequestPram:(id)pram RequestSuccess:(void(^)(id respoes))success RequestFaile:(void(^)(NSError *erro))faile{

   AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    [manager POST:url parameters:pram progress:^(NSProgress * _Nonnull uploadProgress) {

        ///这里面是进度

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        if (success) {

            //返回成功结果

            success(responseObject);

        }

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        //返回失败结果

        faile(error);

    }];

}

3.文件下载

+ (void)createDownloadFileWithURLString:(NSString *)URLString downloadFileProgress:(void (^)(NSProgress *))downloadFileProgress setupFilePath:(NSURL *(^)(NSURLResponse *))setupFilePath downloadCompletionHandler:(void (^)(NSURL *, NSError *))downloadCompletionHandler{

     NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:URLString]];

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    manager.requestSerializer = [AFHTTPRequestSerializer serializer];

    manager.responseSerializer = [AFHTTPResponseSerializer serializer];

    NSURLSessionDownloadTask *dataTask = [manage

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇iOS开发-生成二维码图片【附中间.. 下一篇iOS:UITableView相关(17-10-10..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目