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

源码修改的地方:

时间: 2024-10-05 15:09:12

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

AFNetworking2.0后 进行Post请求

本文以新浪微博的Oauth认证为例子进行Post请求的演示 下面直接上代码: #import "ViewController.h" #import "AFNetworking.h" @interface ViewController ()<UIWebViewDelegate,NSURLConnectionDelegate> @end @implementation ViewController - (void)viewDidLoad { [super v

AFNetworking2.0概述

最近一直在研究iOS网络开发,对NSURLSession套件进行了深入研究,作为iOS开发者,熟悉苹果的原生技术,可以在不需要第三方框架的情况下进行网络开发,也更有利于从底层了解iOS网络请求的原理,不过为了便捷开发,我们可能使用点第三方的框架的机会会更多,这就不得不提AFNetworking了,我将通过本文总结AFNetworking2.0的使用. AFNetworking的版本和要求 我们先来了解AFNetworking的各个版本: AFNetworking的结构 我们再通过一张表来清晰地介

iOS 8:AFNetworking2.0源码解析 1

源地址:http://blog.cnbang.net/tech/2320/ 最近看AFNetworking2的源码,学习这个知名网络框架的实现,顺便梳理写下文章.AFNetworking2的大体架构和思路在这篇文章已经说得挺清楚了,就不再赘述了,只说说实现的细节.AFNetworking的代码还在不断更新中,我看的是AFNetworking2.3.1. 本篇先看看AFURLConnectionOperation,AFURLConnectionOperation继承自NSOperation,是一个

AFNetworking2.0源码解析&lt;一&gt;

(via:bang's blog) 最近看AFNetworking2的源码,学习这个知名网络框架的实现,顺便梳理写下文章.AFNetworking的代码还在不断更新中,我看的是AFNetworking2.3.1. 本篇先看看AFURLConnectionOperation,AFURLConnectionOperation继承自NSOperation,是一个封装好的任务单元,在这里构建了NSURLConnection,作为NSURLConnection的delegate处理请求回调,做好状态切换,

AFNetworking2.0源码解析

写在前面给大家推荐一个不错的网站 点击打开链接 本文测试例子源码下载地址 最近看AFNetworking2的源码,学习这个知名网络框架的实现,顺便梳理写下文章.AFNetworking的代码还在不断更新中,我看的是AFNetworking2.3.1. 本篇先看看AFURLConnectionOperation,AFURLConnectionOperation继承自NSOperation,是一个封装好的任务单元,在这里构建了NSURLConnection,作为NSURLConnection的del

网络请求封装

网络请求封装 // // ASIHTTPRequest+Request.h // CloudShopping // // Created by sixiaobo on 14-7-9. // Copyright (c) 2014年 com.Uni2uni. All rights reserved. // #import "ASIFormDataRequest.h" #import "ASIDownloadCache.h" // downloadData是返回的数据,如

Tomcat7.0源码分析——请求原理分析(中)

前言 在<TOMCAT7.0源码分析--请求原理分析(上)>一文中已经介绍了关于Tomcat7.0处理请求前作的初始化和准备工作,请读者在阅读本文前确保掌握<TOMCAT7.0源码分析--请求原理分析(上)>一文中的相关知识以及HTTP协议和TCP协议的一些内容.本文重点讲解Tomcat7.0在准备好接受请求后,请求过程的原理分析. 请求处理架构 在正式开始之前,我们先来看看图1中的Tomcat请求处理架构. 图1 Tomcat请求处理架构 图1列出了Tomcat请求处理架构中的主

RN实战项目网络请求封装(二)

RN实战项目网络请求封装(二) 网络相关学习文档,参考 RN中文网文档 RN中主要是用fetch来完成异步网络请求的,传统的ajax慢慢的会被fetch替代 RN中文网fetch API 案例 fetch('https://mywebsite.com/endpoint/', { method: 'POST', //请求方法 默认get headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', //数据

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

IOS中有许多网络请求的函数,同步的,异步的,通过delegate异步回调的. 在做一个项目的时候,上网看了很多别人的例子,发现都没有一个简单的,方便的异步请求的封装例子.我这里要给出的封装代码,是异步的,post的请求方式.通过ios的原生函数简单封装.通过这个封装可以方便的访问http服务器,获取数据,也可以容易的异步加载网络图片. 首先新建一个httpHelper类,在这个类里进行封装,封装的函数名称就叫做post,参数有请求的地址url,请求的参数params,返回数据后回调的函数blo