• 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请求:

    源码修改的地方:

  • 相关阅读:
    TCP/IP详解V2(六)之TCP协议
    TCP/IP详解V2(四)之TCP协议
    TCP/IP详解V2(三)之TCP协议
    epoll源码剖析
    UDT源码剖析(二)之启动与结束
    TCP/IP详解V2(二)之UDP协议
    TCP/IP详解V2(一)之协议控制块
    UDT源码剖析(一)之总览
    SPI通信协议(SPI总线)学习
    第12章Cortex-M4-SPI-Bus
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4197880.html
Copyright © 2020-2023  润新知