//ViewController.swift
importUIKit
classViewController:UIViewController{
/*
URL:全球资源定位符
*/
/*
get请求/post请求:
(1)安全性:post安全性比较高
(2)get用于一般请求,涉及到用户隐私数据的话采用post
*/
overridefuncviewDidLoad() {
super.viewDidLoad()
//post请求链接:
letpostUrlString ="http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?"
//post请求体:
letbodyString ="cid=213&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&date=20131129"
leturl =NSURL(string: postUrlString)
//创建一个可变的请求对象(必须是可变的,因为我们要设置它的请求方式和请求体)
varrequest =NSMutableURLRequest(URL: url!)
//设置请求方式
request.HTTPMethod="POST"
//将上面的请求参数序列化成NSData类型的数据
//4代表UTF-8编码
letdata = bodyString.dataUsingEncoding(4)
//将data设置为请求对象的请求体
request.HTTPBody= data
//创建对话
letsession =NSURLSession(configuration:NSURLSessionConfiguration.defaultSessionConfiguration())
//发起任务
lettask = session.dataTaskWithRequest(request, completionHandler: { (data, url, error) ->Voidin
//请求成功进行反序列化
letroot:AnyObject? =NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers, error:NSErrorPointer())
println(root)
})
task.resume()
}
funcgetRequest(){
leturlString ="http://bea.wufazhuce.com/OneForWeb/one/getC_N?strDate=2015-11-18&strRow=2&strMS=1"
//NSUELRequest:将网址对象包装成一个请求对象
leturl =NSURL(string: urlString)
letrequest =NSURLRequest(URL: url!)
//创建对话
letconfiguration =NSURLSessionConfiguration.defaultSessionConfiguration()
letsession =NSURLSession(configuration: configuration)
//由session发起get请求
lettask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) ->Voidin
//请求完成回调的闭包
letrootDict:[String:AnyObject] =NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error:NSErrorPointer())as![String:AnyObject]
letresult = rootDict["result"]as!String
println(result)
})
//开始任务
task.resume()
}
//使用NSURL进行get请求
funcgetNSURL(){
leturlString ="http://bea.wufazhuce.com/OneForWeb/one/getC_N?strDate=2015-11-18&strRow=2&strMS=1"
//请求对象NSURL:iOS中对全球资源定位符封装的一个对象
//将上面字符串网址封装成一个网址对象
leturl:NSURL=NSURL(string: urlString)!
//NSURLSession:网络对话
//网络对话的配置:涉及到网络任务是否在后台执行,应用程序休眠的时候网络任务是否要继续,一般使用默认的配置就足够了
letconfiguration =NSURLSessionConfiguration.defaultSessionConfiguration()
//创建一个对话
letsession =NSURLSession(configuration: configuration)
//发起请求任务(data:请求成功获取到的数据,urlResponse:请求头,error:请求失败的错误信息)
lettask = session.dataTaskWithURL(url, completionHandler: { (data, urlResponse, error) ->Voidin
//将获取的数据进行反序列成根节点
letrootDict:[String:AnyObject] =NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error:NSErrorPointer())as![String:AnyObject]
letresult = rootDict["result"]as!String
println(result)
iferror !=nil{
println("网络出错")
}
})
//开始任务
task.resume()
}
overridefuncdidReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}