基于AFNetworking3.0的网络封装
1.创建名为HTTPMethod(自己随便起名字)的头文件
2.导入AFNetworking头文件(在github上下载最新版):
#import "AFNetworking.h"
3.在.h文件里声明类方法:
//参数解释:(1)urlString是你想请求的网址 (2)bodyDic是POST请求时的参数 (3)dataBlock是数据请求成功后用来回调数据的block
+ (void)getDataByString:(NSString *)urlString BodyDic:(NSDictionary *)bodyDic WithDataBlock:(void(^)(id data))dataBlock;
4.方法的实现:
+(void)getDataByString:(NSString *)urlString BodyDic:(NSDictionary *)bodyDic WithDataBlock:(void (^)(id))dataBlock
{
//(1).字符串的转码
urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:urlString]];
//(2).创建管理者对象(session)
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//(3).设置允许请求的类别
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain",@"text/json",@"application/json",@"text/javascript",@"text/html", @"application/javascript", @"text/js", nil];
//(4).开始请求
if (!bodyDic) {
//如果bodyDic为空就执行get请求
[manager GET:urlString parameters:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
dataBlock(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"请求失败");
}];
}
else
{
[manager POST:urlString parameters:bodyDic success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
dataBlock(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"请求失败");
}];
}
}
最新文章
- Hadoop多节点集群安装配置
- html中input标签的tabindex属性
- Linux帮助命令
- C++结构、共用体、枚举
- jQuery 常用方法经典总结
- Spring@Autowired注解与自动装配
- SQL Server 存储引擎-剖析Forwarded Records
- Mina、Netty、Twisted一起学(一):实现简单的TCP服务器
- Android Service获取当前位置(GPS+基站)
- div 背景色设置_DIV背景颜色设置
- python数据可视化(matplotlib)
- 2014/08/23——OJ及相关站点打开速度非常慢,训练计划login直接error!
- 五、latex文档的篇章结构
- bzoj1014 火星人 (hash+splay+二分答案)
- Journal Storage Directory not formatted
- PathUtil
- Qt打包部署程序自动查找依赖DLL工具windeployqt
- IPMB接口协议总结
- django - html
- 0SGU 128 snake (&;&; ZOJ 3521) 尺取,排序二叉树,线段树 难度:2
热门文章
- PHP之路——VC库
- Solr4.8.0源码分析(16)之SolrCloud索引深入(3)
- swift material
- cf C. Inna and Dima
- 突然间,对JAVA也找到点感觉了。
- java.lang.NoClassDefFoundError: javax/servlet/ServletContext
- 使用 Spring Boot 快速构建 Spring 框架应用,PropertyPlaceholderConfigurer
- 王学长的LCT标程
- 【转】如何开启notepad++函数列表功能
- bzoj3575[Hnoi2014]道路堵塞