NSURLSession -- 实际开发中运用

Posted Alex_sun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSURLSession -- 实际开发中运用相关的知识,希望对你有一定的参考价值。

NSURLSession实际请求

ios9使用http请求方法:

  1. 在工程info.plist文件内添加NSAppTransportSecurity键,类型为dictionary
  2. 在NSAppTransportSecurity中添加NSAllowsArbitraryLoads键,值为YES

GET请求

        let key = "a27383fa93bd3cc57ff4a180036d56ac"
        let urlString = "http://v.juhe.cn/xianxing/citys"
        let url = NSURL(string: urlString + "?key=" + key)
        
        // 创建请求对象
        let request = NSURLRequest(URL: url!)
        
        // 获取会话对象
        let session = NSURLSession.sharedSession()
        
        // 创建请求任务
        let task = session.dataTaskWithRequest(request) { (data, response, error) in
            if let jsonData = data {
                do {
                    let dic = try NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers) as? [String : AnyObject]
                    print(dic)
                } catch {
                    
                }
            }
        }
        
        // 执行任务
        task.resume()

 

POST请求

        let urlString = "http://v.juhe.cn/carzone/series/query"
        let url = NSURL(string: urlString)
        
        // 创建请求对象
        let request = NSMutableURLRequest(URL: url!)
        // 设置请求模式
        request.HTTPMethod = "POST"
        // 设置请求体
        request.HTTPBody = "action=getCarAllBrand&key=afdfb2885044bf2e14b24c293012bbea".dataUsingEncoding(NSUTF8StringEncoding)
        
        
        // 获取会话对象
        let session = NSURLSession.sharedSession()
        
        // 创建请求任务
        let task = session.dataTaskWithRequest(request) { (data, response, error) in
            if let jsonData = data {
                do {
                    let dic = try NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers) as? [String : AnyObject]
                    print(dic)
                } catch {
                    
                }
            }
        }
        
        // 执行任务
        task.resume()

 

以上是关于NSURLSession -- 实际开发中运用的主要内容,如果未能解决你的问题,请参考以下文章

NSURLSession数据解析的get请求和post请求步骤

开发只懂 AFN ?搞定 NSURLSession 才是硬道理

如何在 React 中运用 CSS

如何在MathML中运用MathType

NSURLSession,上传任务 - 获取传输的实际字节

关于在ThinkPHP中运用setInc和setDec两个函数