一.导入AFNetworking框架
![](https://img.haomeiwen.com/i3117104/56c2ab47d1ae59eb.png)
二.将url的配置封装封装起来(后面使用就不用重复创建,只用导入RequestNetWorkTool.h 头文件就可直接使用)
![](https://img.haomeiwen.com/i3117104/1bd4d4ba20edcb70.png)
1. .h文件中导入AFNetworking.h并初始化 带基础URL 和 不带基础信息的URL
#import#import "AFNetworking.h"
@interface RequestNetWorkTool :AFHTTPSessionManager
+(instancetype)requestNetWorkWithBaseURL;
+(instancetype)requestNetWorkWithOutURL;
@end
2. .m文件中实现两个方法
//带基础信息的的URL
+(instancetype)requestNetWorkWithBaseURL {
static RequestNetWorkTool *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
//创建一个baseURL
NSURL *baseURL = [NSURL URLWithString:@"http://c.3g.163.com"];
//设置配置信息
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
instance = [[RequestNetWorkTool alloc] initWithBaseURL:baseURL sessionConfiguration:configuration];
instance.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions :NSJSONReadingMutableLeaves];
//设置响应的数据类型
instance.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"text/json", @"text/javascript", @"application/json", @"application/xml", @"text/plain", nil];
});
return instance;
}
//不带基础信息的URL
+(instancetype)requestNetWorkWithOutURL{
static RequestNetWorkTool *instance=nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
//设置配置信息
NSURLSessionConfiguration *configuration=[NSURLSessionConfiguration defaultSessionConfiguration];
instance=[[RequestNetWorkTool alloc]initWithSessionConfiguration:configuration];
//设置响应数据类型
instance.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@"text/html",@"text/json", @"text/javascript", @"application/json", @"application/xml", @"text/plain", nil];
});
return instance;
}
3.需要使用url获取数据是就导入封装的头文件
NSString *url=@"http://c.m.163.com/nc/article/B8R8TF7N00014Q4P/full.html";
[[RequestNetWorkTool requestNetWorkWithOutURL]GET:url parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"成功");
NSDictionary *List=(NSDictionary *)responseObject; //接收响应回来的值
。。。。。。后面就是经过需求分析响应值,例:
NSArray *data=List[@"data"][@"data"];
NSLog(@"data=%ld",data.count);
for (NSDictionary *dic in data) {
NSArray *data=List[@"data"][@"data"];
firstListModel *model=[firstListModel firstModelWithDic:dic[@"group"]];
NSLog(@"%@",model.share_count);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"失败");
}];
网友评论