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

源码修改的地方:

目录
相关文章
|
4月前
|
JSON Dart API
Flutter dio http 封装指南说明
本文介绍了如何实现一个通用、可重构的 Dio 基础类,包括单例访问、日志记录、常见操作封装以及请求、输出、报错拦截等功能。
113 2
Flutter dio http 封装指南说明
|
4月前
|
XML 前端开发 JavaScript
JavaEE:http请求 | 过滤器 | 同步与异步请求 | 跨域问题 | axios框架 有这一篇就够!
JavaEE:http请求 | 过滤器 | 同步与异步请求 | 跨域问题 | axios框架 有这一篇就够!
|
6月前
|
资源调度 JavaScript API
|
6月前
|
Swift iOS开发
Alamofire和AFNetworking有什么区别?
Alamofire和AFNetworking有什么区别?
179 4
|
6月前
|
API
uniApp封装请求
uniApp封装请求
55 0
|
JSON API Apache
基于OkHttp网络通信工具类(发送get、post请求、文件上传和下载)
okhttp是专注于提升网络连接效率的http客户端。 优点: 1、它能实现同一ip和端口的请求重用一个socket,这种方式能大大降低网络连接的时间,和每次请求都建立socket,再断开socket的方式相比,降低了服务器服务器的压力。 2、okhttp 对http和https都有良好的支持。 3、okhttp 不用担心android版本变换的困扰。 4、成熟的网络请求解决方案,比HttpURLConnection更好用。 5、支持异步发送网络请求,响应可在线程处理。
|
前端开发 API
uniapp封装request请求
uniapp封装request请求
78 0
|
iOS开发
iOS开发 GET、POST请求方法:NSURLSession篇
iOS开发 GET、POST请求方法:NSURLSession篇
103 0
|
前端开发
封装ajax请求接口
封装ajax请求接口
113 0
|
JavaScript
Uview封装请求方法
最近开发了一个UniApp程序,但是在遇到请求方法调用的时候,还是犹豫了,因为之前没有搞过这种,然后自己查了很多资料,发现市面的都不是很一样,经过自己的研究,自己根据官方文档总结了一些通过方法,供大家参考。
544 0