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

源码修改的地方:

AFNetworking2.0简易GET,POST请求封装以及使用的更多相关文章

  1. AFNetworking2.0后 进行Post请求

    本文以新浪微博的Oauth认证为样例进行Post请求的演示 以下直接上代码: #import "ViewController.h" #import "AFNetworki ...

  2. AFNetworking2.0源代码解析

    写在前面给大家推荐一个不错的站点 点击打开链接 本文測试样例源代码下载地址 近期看AFNetworking2的源代码.学习这个知名网络框架的实现.顺便梳理写下文章. AFNetworking的代码还在 ...

  3. AFNetworking2.0源码解析<一>

    本篇先看看AFURLConnectionOperation,AFURLConnectionOperation继承自NSOperation,是一个封装好的任务单元,在这里构建了NSURLConnecti ...

  4. iOS开发——post异步网络请求封装

    IOS中有许多网络请求的函数,同步的,异步的,通过delegate异步回调的. 在做一个项目的时候,上网看了很多别人的例子,发现都没有一个简单的,方便的异步请求的封装例子.我这里要给出的封装代码,是异 ...

  5. WebApi系列~基于单请求封装多请求的设计

    回到目录 怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能 ...

  6. 安卓OKhttp请求封装

    目前安卓开发中使用的网络工具为OKhttp,但是okhttp的使用还不是很方便,在okhttp的基础上再对请求进行封装会极大的方便网络调用. 下面直接上代码. 请求封装 public class Ht ...

  7. PHP Request请求封装

    /** * Request请求封装 * Class Request * @package tool */ class Request { // curl 请求错误码 protected static ...

  8. vue_axios请求封装、异常拦截统一处理

    1.前端网络请求封装.异常统一处理 vue中采用axios处理网络请求,避免请求接口重复代码,以及各种网络情况造成的异常情况的判断,采用axios请求封装和异常拦截操作: axios 请求封装 // ...

  9. React Native 网络请求封装:使用Promise封装fetch请求

    最近公司使用React作为前端框架,使用了异步请求访问,这里做下总结: React Native中虽然也内置了XMLHttpRequest 网络请求API(也就是俗称的ajax),但XMLHttpRe ...

随机推荐

  1. redis 安装 与错误解决办法

    redis 安装与安装中遇到的错误 redis 安装 wget http://download.redis.io/releases/redis-4.0.11.tar.gz .tar.gz cd red ...

  2. 数据库应用(Mysql、Mongodb、Redis、Memcached、CouchDB、Cassandra)

    目前,主流数据库包括关系型(SQL)和非关系型(NoSQL)两种. 关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,支持复杂的事物处理和结构化查询.代表实 ...

  3. 异常空格,ASCII (194,160)问题

    今天运营的同学反映有一些店铺的名称后面带空格,我下意识的说不可能啊,我已经处理过了啊.然后就找出来看. 其中有个店铺的名称是“安踏 ”,第一眼看上去好像是带了个空格.然后我就仔细的看了下. pry(m ...

  4. 番外篇 之 Win32Api

    C# 调用系统API. 从自己的软件,来操作别人写好的软件. SendMessage 句柄  标识当前进程/控件的一个标识; 本课程所用到的常量信息: private const uint LB_FI ...

  5. C# Mysql Dapper和原生sql 插入和查询速度比较

    1.表中有三个字段,已经有100多万条数据,每次插入10万条数据 时间单位:秒 秒 Dapper批量Model插入时间:40.6165513,Dapper单条Model插入时间:95.9492972, ...

  6. 键盘输入,输出int数组的函数

    public class function { public static void main(String[] args) { //输入数组数据(例如10个) int [] array = inPu ...

  7. 关于jquery的入门,简单的封装。

    看过不同的博客,觉得以下的博客写的比较简洁明了,通俗易懂. 关于jquery博客:http://www.cnblogs.com/moqiutao/p/6523924.html 关于js:http:// ...

  8. fzu 2132 LQX的作业

    Problem 2132 LQX的作业 Accept: 67    Submit: 150Time Limit: 1000 mSec    Memory Limit : 32768 KB Proble ...

  9. IntelliJ IDEA 使用经验总结

    一. 准备工作 1. 点击此下载 IntelliJ IDEA 开发工具 二. 注册 1. 修改  C:\Windows\System32\drivers\etc\hosts ,在末尾添加  0.0.0 ...

  10. WebApiTestHelpPage

    这是个什么鬼,第一次见到的时候,我也不知道就花几天时间看了下它的代码 在网上搜索WebApiTestHelpPage会出来很多相关页面   但是它们都是介绍怎么用的,要么就是怎么添加注释   它是怎么 ...