AFNetworking2.0简易GET,POST请求封装以及使用

AFNetworking2.0简易GET,POST请求封装以及使用

技术分享

AFNetworking不用我赘述其强大性,本人仅仅做了非常简易的封装,解决了有时候请求出错的问题,提供源码给大家。

封装源码库下载地址:

http://pan.baidu.com/s/1wDLIQ

源码:

Networking.h 与 Networking.m

//
//  Networking.h
//  Weather
//
//  Created by YouXianMing on 15/01/01.
//  Copyright (c) 2014年 YouXianMing. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "AFNetworking.h"

@interface Networking : NSObject

#pragma mark - GET请求
+ (void)GET:(NSString *)urlString
 parameters:(id)parameters
    success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
    failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;

#pragma mark - POST请求
+ (void)POST:(NSString *)urlString
  parameters:(id)parameters
     success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
     failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;

@end
//
//  Networking.m
//  Weather
//
//  Created by YouXianMing on 15/01/01.
//  Copyright (c) 2014年 YouXianMing. All rights reserved.
//

#import "Networking.h"

@implementation Networking

+ (void)GET:(NSString *)urlString
 parameters:(id)parameters
    success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
    failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure {
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    // 防止解析不出来
    manager.responseSerializer.acceptableContentTypes =         [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
    [manager GET:urlString
      parameters:parameters
         success:^(AFHTTPRequestOperation *operation, id responseObject) {
             if (success) {
                 success(operation, responseObject);
             }
         }
         failure:^(AFHTTPRequestOperation *operation, NSError *error) {
             if (failure) {
                 failure(operation, error);
             }
         }];
}

+ (void)POST:(NSString *)urlString
  parameters:(id)parameters
     success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
     failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure {
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    // 防止解析不出来
    manager.responseSerializer.acceptableContentTypes =     [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
    [manager POST:urlString
       parameters:parameters
          success:^(AFHTTPRequestOperation *operation, id responseObject) {
              if (success) {
                  success(operation, responseObject);
              }
          }
          failure:^(AFHTTPRequestOperation *operation, NSError *error) {
              if (failure) {
                  failure(operation, error);
              }
          }];
}

@end

GET请求带参数与不带参数之间的转换:

技术分享

POST请求:

技术分享

源码修改的地方:

技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。