• iOS项目开发实战——使用同步请求获取网页源码


            网络请求一般分为同步请求和异步请求,同步请求假设訪问时间过长,会造成界面卡死状态,用户体验不是非常好。可是请求速度较快的话,也能够考虑使用同步訪问。如今先来学习同步訪问。

    (1)在viewDidLoad()方法中实现例如以下代码:

        override func viewDidLoad() {
            super.viewDidLoad()
            
            var data = NSURLConnection.sendSynchronousRequest(NSURLRequest(URL: NSURL(string: "http://www.baidu.com")!), returningResponse: nil, error: nil)
            
            if let d = data{
            
                println(NSString(data: d, encoding: NSUTF8StringEncoding)!)//打印HTML
                
            }else{
            
                println("未能获取网络数据")
                
            }
        }

    输出结果会成功打印出网页HTML。


    (2)打印出Http协议头

    在viewDidLoad()中实现下面代码:

     override func viewDidLoad() {
            super.viewDidLoad()
            
            var resp:NSURLResponse?

    var data = NSURLConnection.sendSynchronousRequest(NSURLRequest(URL: NSURL(string: "http://www.baidu.com")!), returningResponse: &resp, error: nil) if let r = resp{ println(r) //打印Http协议头; } }


    输出结果例如以下:


     (3)打印错误信息

    在进行网络操作时,偶尔出现错误是不可避免的。我们能够打印出错误。便于我们查错,打印错误代码例如以下:

        override func viewDidLoad() {
            super.viewDidLoad()
            
            var resp:NSURLResponse?
            var error:NSError?
            
            var data = NSURLConnection.sendSynchronousRequest(NSURLRequest(URL: NSURL(string: "http://www.baidu.com")!), returningResponse: &resp, error: &error)
            
            if let e = error{
            
                println(e)  //打印Http协议头。
            }
        }

    測试该代码时,我们能够关闭网络。然后就会出现错误:我进行測试时,出现的错误例如以下:



    github主页:https://github.com/chenyufeng1991  。

    欢迎大家訪问!



  • 相关阅读:
    About unsign in Java
    Heart Shape Function
    Java内存分配与垃圾回收的关系
    Android Volume Button Listener
    Android Opensource Lib
    Android Lock Screen Orientation
    JS moveStart和moveEnd方法(TextRange对象查找与选择)
    一个简单的遮罩层效果
    IE中的条件注释(<![if lt IE 7]><![endif]>)
    document.execCommand()用法说明
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7257639.html
Copyright © 2020-2023  润新知