清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
// // HttpTool.h // 邦尼医生 // // Created by peony on 15/7/21. // Copyright (c) 2015年 com.peony. All rights reserved. // #import <Foundation/Foundation.h> @interface HttpTool : NSObject /** * 发送一个GET请求 * * @param url 请求路径 * @param params 请求参数 * @param success 请求成功后的回调(请将请求成功后想做的事情写到这个block中) * @param failure 请求失败后的回调(请将请求失败后想做的事情写到这个block中) */ + (void)get:(NSString *)url params:(NSDictionary *)params success:(void (^)(id json))success failure:(void (^)(NSError *error))failure; /** * 发送一个POST请求 * * @param url 请求路径 * @param params 请求参数 * @param success 请求成功后的回调(请将请求成功后想做的事情写到这个block中) * @param failure 请求失败后的回调(请将请求失败后想做的事情写到这个block中) */ + (void)post:(NSString *)url params:(NSDictionary *)params success:(void (^)(id json))success failure:(void (^)(NSError *error))failure; /** * 发送一个POST请求 * * @param url 请求路径 * @param params 请求参数 * @param formData 文件参数 * @param success 请求成功后的回调(请将请求成功后想做的事情写到这个block中) * @param failure 请求失败后的回调(请将请求失败后想做的事情写到这个block中) */ + (void)post:(NSString *)url params:(NSDictionary *)params formDataArray:(NSArray *)formDataArray success:(void (^)(id json))success failure:(void (^)(NSError *error))failure; @end /** * 用来封装文件数据的模型 */ @interface FormData : NSObject /** * 文件数据 */ @property(nonatomic,strong)NSData * data; /** * 参数名 */ @property(nonatomic,copy)NSString * name; /** * 文件名 */ @property(nonatomic,copy)NSString * filename; /** * 文件类型 */ @property(nonatomic,copy)NSString * mimeType; @end // // HttpTool.m // 邦尼医生 // // Created by peony on 15/7/21. // Copyright (c) 2015年 com.peony. All rights reserved. // #import "HttpTool.h" #import "AFNetworking.h" @implementation HttpTool + (void)get:(NSString *)url params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure { AFSecurityPolicy *policy = [[AFSecurityPolicy alloc] init]; [policy setAllowInvalidCertificates:YES]; // 1.获得请求管理者 AFHTTPRequestOperationManager * mgr = [AFHTTPRequestOperationManager manager]; // 2.发送GET请求 [mgr setSecurityPolicy:policy]; mgr.requestSerializer = [AFJSONRequestSerializer serializer]; mgr.responseSerializer = [AFJSONResponseSerializer serializer]; [mgr GET:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObj) { if (success) { success(responseObj); } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { if (failure) { failure(error); } }]; } + (void)post:(NSString *)url params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure { AFSecurityPolicy *policy = [[AFSecurityPolicy alloc] init]; [policy setAllowInvalidCertificates:YES]; // 1.获得请求管理者 AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager]; [mgr setSecurityPolicy:policy]; mgr.requestSerializer = [AFJSONRequestSerializer serializer]; mgr.responseSerializer = [AFJSONResponseSerializer serializer]; // 2.发送POST请求 [mgr POST:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObj) { if (success) { success(responseObj); } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { if (failure) { failure(error); } }]; } /** * 上传文件请求 */ + (void)post:(NSString *)url params:(NSDictionary *)params dataSource:(FormData *)dataSource success:(void (^)(id))success failure:(void (^)(NSError *))failure{ // 1.获得请求管理者 AFHTTPRequestOperationManager * mgr = [AFHTTPRequestOperationManager manager]; [mgr POST:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { [formData appendPartWithFileData:dataSource.data name:dataSource.name fileName:dataSource.filename mimeType:dataSource.mimeType]; } success:^(AFHTTPRequestOperation *operation, id responseObject) { if (success) { success(responseObject); } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { if (failure) { failure(error); } }]; } @end /** * 用来封装文件数据的模型 */ @implementation FormData @end