zoukankan      html  css  js  c++  java
  • 网络-URLConnection & URLSession

    1、URLConnection
       // 1. url

        // 1> 判断text是否以http开头

        NSString *urlString = text;

        if (![text hasPrefix:@"http://"]) {

            // 2> 拼接URL字符串

         urlString = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@", text];

        }

        // 对于特殊字符,例如空格或者中文都需要%转义

        // 在iOS中,如果没有特殊要求,需要使用的编码格式是UTF8

        urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSURL *url = [NSURL URLWithString:urlString];

      // 2. 请求

        NSURLRequest *request = [NSURLRequest requestWithURL:url];

     // 3. 用web加载请求

        // 1> 第一步是把请求发送给服务器

        // 2> 显示服务器返回的内容

        [self.webView loadRequest:request];

     
    2、URLSession
    NSURLSession是iOS7中新的网络接口,与NSURLConnection是并列的。

    当程序在前台时,NSURLSession与NSURLConnection大部分可以互相替代

    NSURLSession支持后台网络操作,除非用户强行关闭

    NSURLSession提供的功能:

    通过URL将数据下载到内存

    通过URL将数据下载到文件系统

    将数据上传到指定URL

    在后台完成上述功能

    对于小型数据,例如用户登录、下载小图像、JSON & XML仍然使用NSURLConnection的异步或同步方法即可

       // 1. url

        NSURL *url = [NSURL URLWithString:@"http://m.baidu.com"];

        // 2. request

        NSURLRequest *request = [NSURLRequest requestWithURL:url];

        // 3. session会话

        // sharedSession是一个全局网络会话的单例,便于程序员处理简单的网络请求

        NSURLSession *session = [NSURLSession sharedSession];

        // 4. 任务,所有的网络任务都是由会话来创建的

        NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

            NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

            NSLog(@"%@", html);

        }];

        // 5. 任务默认都是挂起的

        [task resume];

  • 相关阅读:
    题解——[[SHOI2010]最小生成树]
    7.12周总结
    还有5个月就NOIP2019了,我干了什么
    【CQOI2018】破解D-H协议
    【SHOI2006】仙人掌
    【HNOI/AHOI2018】道路
    2019.11纪中集训 宋新波老师和曹天佑学长的勉励
    纪中集训2019.11.05
    【2019.10.25 OI-Killer的模拟赛】3.鸡数
    【华东师附国庆模拟赛】Day2 1.矩阵
  • 原文地址:https://www.cnblogs.com/bluceZ/p/3942755.html
Copyright © 2011-2022 走看看