zoukankan      html  css  js  c++  java
  • [Swift通天遁地]四、网络和线程-(7)检测服务器接口的访问状态:验证请求结果和可访问性

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10222573.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    目录:[Swift]通天遁地Swift

    本文将演示如何使用Alamofire验证请求结果和可访问性。

    首先确保在项目中已经安装了所需的第三方库。

    点击【Podfile】,查看安装配置文件。

    1 source 'https://github.com/CocoaPods/Specs.git'
    2 platform :ios, '12.0'
    3 use_frameworks!
    4 
    5 target ‘DemoApp’ do
    6     pod 'Alamofire', '~> 4.0'
    7 end

    根据配置文件中的相关配置,安装第三方库。

    然后点击打开【DemoApp.xcworkspace】项目文件。

    在项目导航区,打开视图控制器的代码文件【ViewController.swift】

    现在开始编写代码,实现接口访问状态检测的功能。

     1 import UIKit
     2 //在当前的类文件中,引入已经安装的第三方类库
     3 import Alamofire
     4 
     5 class ViewController: UIViewController {
     6 
     7     override func viewDidLoad() {
     8         super.viewDidLoad()
     9         // Do any additional setup after loading the view, typically from a nib.
    10         //依次测试下文的两个方法
    11 
    12         //检测接口的状态
    13         manualValidation()
    14 
    15         //更快捷的方式检测接口的状态
    16         automaticValidation()
    17     }
    18     
    19     //添加一个方法,用来检测接口的状态
    20     func manualValidation()
    21     {
    22         //调用网络操作库的网络请求方法
    23         Alamofire.request("https://httpbin.org/get")
    24             //添加验证方法
    25             //检测状态的编码是否在200至300之间
    26             .validate(statusCode: 200..<300)
    27             //检测类型是否为JSON类型
    28             .validate(contentType: ["application/json"])
    29             //处理网络返回的数据
    30             .responseData { response in
    31                 //根据网络返回对象的结果,在控制台输出不同的日志。
    32                 switch response.result {
    33                     //检测成功
    34                     case .success:
    35                         print("---Validation Successful")
    36                     //检测失败
    37                     case .failure(let error):
    38                         //输出详细的错误信息
    39                         print(error)
    40                 }
    41             }
    42     }
    43     
    44     //添加一个方法,使用更快捷的方式检测接口的各个状态
    45     func automaticValidation()
    46     {
    47         //直接检测接口的可连接性。
    48         //调用网络操作库的网络请求方法,并处理从服务器返回的JSON数据。
    49         Alamofire.request("https://httpbin.org/get").validate().responseJSON { response in
    50             //对网络返回的结果进行处理
    51             //根据网络返回对象的结果,在控制台输出不同的日志
    52             switch response.result {
    53                 //检测成功
    54                 case .success:
    55                     print("---Validation Successful")
    56                 //检测失败
    57                 case .failure(let error):
    58                     //输出详细的错误信息
    59                     print(error)
    60             }
    61         }
    62     }
    63     
    64     override func didReceiveMemoryWarning() {
    65         super.didReceiveMemoryWarning()
    66         // Dispose of any resources that can be recreated.
    67     }
    68 }
  • 相关阅读:
    xinetd编程
    我是这样学习Linux下C语言编程的编译命令gcc的使用
    Linux man命令的使用方法
    string.Format出现异常"输入的字符串格式有误"的解决方法
    .net 发送邮件
    cross join
    解决ASP.NET中的各种乱码问题
    网站推广优化教程100条(SEO,网站关键字优化,怎么优化网站,如何优化网站关键字)
    网页中嵌入Excel控件
    C#基础之 集合队列
  • 原文地址:https://www.cnblogs.com/strengthen/p/10222573.html
Copyright © 2011-2022 走看看