NSURLSession的简单使用

本文介绍了iOS7中新引入的NSURLSession类,展示了如何用它来进行GET和POST请求,并对比了这两种请求方式的不同之处。同时,文中还提供了Xcode7及之后版本进行网络连接时所需配置的信息。
摘要由CSDN通过智能技术生成

在iOS7中新增了NSURLSession的类

这个类的诞生意味着NSURLConnection逐步将退出历史舞台

现在使用最广泛的第三方网络框架:AFNetworking、SDWebImage等等都使用了NSURLSession

我们知道,对于HTTP网络请求来说有两种形式

  • GET
  • POST
    这两种形式的区别如下:

    • GET操作简单,所有参数直接写到地址中
    • POST操作复杂,将参数和地址分开来写
    • GET请求安全性不如POST形式
    • GET请求URL地址长度有限,POST请求可以传递大量数据

    那么现在分别看一下NSURLSession在两种形式下的使用


异步GET请求

    //网址写入
    NSURL * url = [NSURL URLWithString:@"网址"];
    //创建session
    NSURLSession * session = [NSURLSession sharedSession];
    //设置需要请求的url并创建请求任务
    NSURLSessionDataTask * task = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
        //此处写执行代码
    }];
    //完成任务。一定不能忘!
    [task resume];

异步POST请求

//网址写入
 NSURL * url = [NSURL URLWithString:@"网址"];
//创建请求
    NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:url];
    //设置请求形式
    [request setHTTPMethod:@"POST"];
    NSString *str = @"type=focus-c";
    //设置body
    NSData * data = [ str dataUsingEncoding:NSUTF8StringEncoding];
    [request setHTTPBody:data];

    //创建session
    NSURLSession *session = [NSURLSession sharedSession];
    //创建任务
    NSURLSessionDataTask * task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
        //此处写执行代码
    }];
     //完成任务。一定不能忘!
    [task resume];

注意

  • Xcode7后进行网络连接时需在info.plist文件里面增加
    APP Transporty Settings (NSDictionary) -> Allow Arbitrary Loads of (BOOL) 选择YES
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值