zoukankan      html  css  js  c++  java
  • 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请求:

    源码修改的地方:

  • 相关阅读:
    前端如何进阶架构师
    NPOI使用记录
    ArcGis 中空间数据的插入与更新
    (转载).net 缓存处理
    ASP.NET(c#)实现重定向的三种方法的总结
    数据库关联表之间的更新语句
    C#net多线程多文件压缩下载
    关于写文件流的情况
    C# Class获取项目的绝对路径
    C# .net中DatailsView的JS简易版
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4197880.html
Copyright © 2011-2022 走看看