iOS 封装AFNetworking请求数据

#import "AFNetworking.h"

+ (void)GET:(NSString *)URLString parameters:(id)parameters success:(void (^)(id))success failure:(void (^)(NSError *))failure
{
    // 创建请求管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    [mgr GET:URLString parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
        // AFN请求成功时候调用block
        // 先把请求成功要做的事情,保存到这个代码块
        if (success) {
            success(responseObject);
        }

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        if (failure) {
            failure(error);
        }
    }];
}

+ (void)Post:(NSString *)URLString parameters:(id)parameters success:(void (^)(id))success failure:(void (^)(NSError *))failure
{
    // 创建请求管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    [mgr POST:URLString parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {

        if (success) {
            success(responseObject);
        }

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        if (failure) {
            failure(error);
        }
    }];
}

+ (void)Upload:(NSString *)URLString parameters:(id)parameters uploadParam:(CZUploadParam *)uploadParam success:(void (^)(id))success failure:(void (^)(NSError *))failure
{

    // 创建请求管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    [mgr POST:URLString parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {// 上传的问价全部在这里拼接  formData

        /**
         *  FileData :就是要上传的二进制的数据
         *
         *  name: jiushi就是上传参数的名称
         *
         *  filename :上传文件类型
         */
        [formData appendPartWithFileData:uploadParam.data name:uploadParam.name fileName:uploadParam.fileName mimeType:uploadParam.mineType];

    } success:^(AFHTTPRequestOperation *operation, id responseObject) {

        if (success) {
            success(responseObject);
        }

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        if (failure) {
            failure(error);
        }

    }];

}
时间: 2024-10-11 13:31:07

iOS 封装AFNetworking请求数据的相关文章

AFNetworking请求数据总是返回错误的修改

最近我看到很多AFNet的教程,我就在想怎么那么多人不明白怎么用AFNet.很多人回答的问题都是一样的怎么还有人不会用.我估计很多人都遇到了这个错误 我运行了 这段代码 AFHTTPRequestOperationManager  * manager  =  [ AFHTTPRequestOperationManager  manager ]; [manager GET:@"http://211.154.151.249:8866/ogPortal/getCarType.do"param

BeanUtils--02--- 创建工具类 封装request 请求数据到实体类中

1. 前台传过来的数据都是字符串, 基本类型BeanUtils会自动转换, 日期类型需要注册转换器,自带的DateLocalConvert转换器未实现空字符串""的判断 public static <T> T copy2Bean(HttpServletRequest request, Class<T> clazz) { ConvertUtils.register(new Converter() {//注册日期转换器 public Object convert(C

iOS封装网络请求

iOS中经常会有网络请求,可以把它封装起来,方便使用: 网络封装请求类: .h文件: #import <Foundation/Foundation.h> @interface NetHandler : NSObject //无返回值,根据网络请求 的特点,不同的地方就是请求的地址和分析数据的方式不一样,就是把这两部分分别作为方法参数 + (void)getDataWithUrl:(NSString *)str complietion:(void(^)(NSData *data))block;

AFNetworking请求数据失败

使用AFNetworking库 post方式请求php接口时,报下面的错误 NSLocalizedDescription=Request failed: unacceptable content-type: text/html 网上找到了解决办法,在这里记录一下 修改AFNetworking/AFURLResponseSerialization.m文件 - (instancetype)init { self = [super init]; if (!self) { return nil; } s

封装 jsonp请求数据的方法

什么是jsonp :  Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不同的域(网站)访问数据需要一个特殊的技术( JSONP )呢?这是因为同源策略. 同源策略,它是由 Netscape 提出的一个著名的安全策略,现在所有支持 JavaScript 的浏览器都会使用这个策略. 了解一下jsonp的api :  封装jsonp的方法: //jsonp.js文件 import or

struts2封装客户端请求数据(3种封装方式)

长话短说,直接进入主题. 1.属性驱动 action的属性名称必须和jsp输入项的name属性保持一致: 必须要在action类中提供该属性的set方法,但有时候会出错,为了保险起见,我们把get/set方法都写上: package com.tbamaw.web.action; import com.opensymphony.xwork2.ActionSupport; public class User2Action extends ActionSupport{ private static f

iOS AFNetWorking 请求json数据

1.请求json数据,使用AFHTTPRequestOperation完成     NSString *str=[NSString stringWithFormat:@"http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.4.255.255"];          NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEsca

iOS开发项目篇—35封装网络请求

iOS开发项目篇—35封装网络请求 一.简单说明 1.分析项目对网路请求(AFN框架)的依赖 项目中,多个控制器都使用了AFN框架发送网络请求,如果AFN2.0存在重大BUg,或者是升级至3.0版本,那么对于整个项目都是及其危险的,所有用到AFN的地方都需要做出相应的修改. 另外,如果现在要求不再使用AFN框架,而是使用一个新的框架,那么有关AFN的依赖所关联的所有代码都需要重新来过. 如果把afn这个第三方框架从项目中删除的话,那么项目就相当于作废了,这就是项目对第三方框架的强依赖的体现. 说

[iOS微博项目 - 3.3] - 封装网络请求

github: https://github.com/hellovoidworld/HVWWeibo A.封装网络请求 1.需求 为了避免代码冗余和对于AFN框架的多处使用导致耦合性太强,所以把网络请求封装成自己的工具类,以后便于更换网络框架. 2.思路 创建一个自定义工具类,提供类方法来实现网络请求 3.实现 1 // 2 // HVWNetworkTool.h 3 // HVWWeibo 4 // 5 // Created by hellovoidworld on 15/2/9. 6 //