zoukankan      html  css  js  c++  java
  • [iOS]NSURL,NSURLRequest, NSURLSession 和 NSURLSessionTask

    • NSURL对象负责以URL的格式保存web应用的位置。对大多数Web服务,URL将包含基地址,Web应用名和需要传达的参数。
    • NSURLRequest对象负责保存需要传送给Web服务器的全部数据,这些数据包括:一个NSURL对象、缓存方案(caching policy),等待Web服务器响应的最长时间和需要通过HTTP协议传送的额外信息(NSMutableURLRequest是NSURLRequest的可变子类).
    • 每一个NSURLSessionTask对象都表示一个NSURLRequest的生命周期。NSURLSessionTask可以跟踪NSURLRequest的状态,还可以对NSURLRequest执行取消,暂停和继续操作。NSURLSessionTask有多种不同功能的子类,包括NSURLSessionDataTask,NSURLSessionUploadTask和NSURLSessionDOwnloadTask.
    • NSURLSession对象可以看作是一个生产NSURLSessionTask对象的工厂。可以设置其生产出的NSURLSessionTask对象的通用属性,例如请求头的内容,是否允许在蜂窝网络下发送请求等。NSURLSession对象有一个功能强大的委托, 可以跟踪NSURLSessionTask对象的状态,处理服务器的认证要求等。

     使用实例:

        NSString *requestString = @"";
        
        // 创建URL对象
        NSURL *url = [NSURL URLWithString:requestString];
        
        // 根据URL对象创建NSURLRequest对象
        NSURLRequest *req = [NSURLRequest requestWithURL:url];
        
        // 为NSURLSession对象提供一个NSURLRequest对象和一个Block对象就可以创建一个NSURLSessionTask对象
        // 刚创建的NSURLRequest对象处于暂停状态
        NSURLSessionTask *dataTask = [self.session dataTaskWithRequest:req
                                                     completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
            NSString *json = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
            NSLog(@"%@", json);
        }];
        
        // 让NSURLSessionTask向服务器发送请求
        [dataTask resume];
    

      

     NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
     NSURLSession *session = [NSURLSession sessionWithConfiguration:config delegate:nil delegateQueue:nil];
            [self fetchNeed];
    

      

  • 相关阅读:
    SQL Server 2008 R2下载地址
    [转]sqlserver2014两台不同服务器上数据库同步
    笔记本(ThinkPad)怎样关闭触摸板
    10 Free Image Hosting Sites for Your Photos
    Photobucket不能用了怎么办?推荐10个在线图片储存服务!
    证书错误 导航已阻止 无法跳转 最终解决
    用websploit获取管理员后台地址
    10 Free Image Hosting Sites for Your Photos
    Css3动画属性总汇
    23个适合logo设计的常用英文字体
  • 原文地址:https://www.cnblogs.com/skycore/p/4845493.html
Copyright © 2011-2022 走看看