iOS网络通信AFNetworking框架

1.在学网络编程前,先掌握几个基本概念

1.1客户端(Client):移动应用(iOS、android等应用)

1.2服务器(Server):为客户端提供服务、提供数据、提供资源的机器

1.3请求(Request):客户端向服务端索取数据的一种行为

1.4响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端


2.在iOS中,常见的发送HTTP请求的方案

2.1苹果自带

1)NSURLConnection【用法简单】

2)NSURLSession【iOS7新出的技术】

3)CFNetwork【NSURL*的底层,纯C语言】

2.2第三方框架

1)AFIHttpRequest【功能强大,可惜停止更新了】

2)AFNetworking【简单易用,维护和使用者多,推荐使用】

3)MKNetworkKit【产自印度,维护和使用者少】


3.正式开始讲解AFN框架

#import "ViewController.h"
#import "AFNetworking.h"

#define INTERNET_TIMEOUT 10;

@interface ViewController ()

@property (nonatomic, strong) AFHTTPRequestOperationManager *operationManager;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //实例化一个请求管理器
    self.operationManager = [AFHTTPRequestOperationManager manager];
    //设置网络请求超时时间
    self.operationManager.requestSerializer.timeoutInterval = INTERNET_TIMEOUT;
    //设置响应的数据格式
    self.operationManager.responseSerializer = [AFJSONResponseSerializer serializer];
    //设置响应可接受内容类型[可以在源码里面修改,达到一劳永逸的效果,本人不喜欢这么做就是了]
    self.operationManager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", @"application/json", @"text/javascript", @"text/plain", nil];
    
    //get请求
    NSString *url = @"http://apis.baidu.com/txapi/weixin/wxhot?";//请求地址
    NSDictionary *parameters = @{@"num":@"1", @"rand":@"1", @"word":@"盗墓笔记", @"page":@"1"};//请求参数
   
    [self.operationManager.requestSerializer setValue:@"自己的apikey" forHTTPHeaderField:@"apikey"];//设置请求头【这里是调用了微信热门精选的API,apikey自己去注册即可获得】
    
    [self.operationManager GET:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
        
        NSLog(@"%@", responseObject);
        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        
        NSLog(@"%@", error);
        
    }];
    
    //post请求
    /*[self.operationManager POST:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
        
        NSLog(@"%@", responseObject);
        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        
        NSLog(@"%@", error);
        
    }];*/ //方法是这个,自行测试
}

@end

网络获取的数据如下图



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值