zoukankan      html  css  js  c++  java
  • NSURLConnect 的简单实用(iOS8淘汰)

    Demo_1 NSRULConnection

    NSRULConnection

    苹果公司在ios8已经抛弃了,但是我还是要讲一下,因为这和后面的NSSession有着密切的联系

    下面开始使用步骤:

    1.     创建发送的请求

    NSRequest 在这个请求中要加入你要访问的URL,其实这就是一种包装,将URL放在请求中

    2.     接受放回来得数据

    使用connectionWithRequest 方法将返回一个NSData类型的数据

    Demo如下

    //这里的url是一个网页地址

                 self.url=[NSURL URLWithString:self.urlTextField.text];

       //创建NSURLRequest

                   NSURLRequest *request=[NSURLRequest requestWithURL:self.url];

     //使用NSURLConnection发送同步请求

                   NSError *error=nil;

             NSData*returnData=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];

    //显示到webView上

    [self.webView loadData:returnData MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:self.baseURL];

    重要的是其中封装信息的思想

                 self.url=[NSURL URLWithString:self.urlTextField.text];

                   NSURLRequest *request=[NSURLRequest requestWithURL:self.url];

        //发送异步请求

                   NSOperationQueue *queue=[[NSOperationQueue alloc]init];

       

                   [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {

           //子线程执行

            //获取response中的状态码(200/404/500/....)

                  NSInteger statusCode = [(NSHTTPURLResponse*)response statusCode];//这里格式要做转换

            if (statusCode==200) {

                //返回成功

                NSLog(@"返回成功");

                //回到主线程加载到webview 凡是UI的都要放到主线程执行

                dispatch_async(dispatch_get_main_queue(), ^{

                [self.webView loadData:data MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:self.baseURL];

                });

            }else{

                NSLog(@"失败:%@",connectionError.userInfo);

            }

        }];

    }

    思路总结:

    1.建立请求

    2.发送请求

    3.接受放回数据

    追寻最真
  • 相关阅读:
    【Selenium】Option加载用户配置,Chrom命令行参数
    Webdriver中关于driver.navigate().to()和driver.get()使用的区别
    【Selenium】idea导入eclisp项目的问题
    【数据库】数据库操作
    【monkey】
    【idea】idea快捷键
    【Selenium】Selenium1
    【Selenium】idea的selenium环境配置
    前端学习
    CSS 居中
  • 原文地址:https://www.cnblogs.com/zhao-jie-li/p/5128446.html
Copyright © 2011-2022 走看看