get 是从服务器上获取数据 post是向服务器传输数据 对于get方式 服务器采用request.querystring获取变量的值 对于post方式 采用 request.from获取提交的数据
get的安全性比post小 但效率高
//同步get的方式
func synchronousGet() {
//创建NSURL的对象
var url = NSURL(string: "http//:www.baidu.com")
//创建请求的对象 缓存的协议 网络请求超出时间
var urlRequest = NSURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.UseProtocolCachePolicy, timeoutInterval: 10)
//响应头的对象
var resp:NSURLResponse?
//错误对象
var error:NSError?
//发出请求
do { data = try NSURLConnection.sendSynchronousRequest(urlRequest, returningResponse: &resp)
}
catch{
print("失误")
}
var jsonString = NSString(data: data, encoding: NSUTF8StringEncoding)
}
//同步get的方式
func asynchronousGet() {
//创建NSURL的对象
var url = NSURL(string: "http://www.baidu.com")
//创建请求的对象
var request = NSURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.UseProtocolCachePolicy, timeoutInterval: 10)
//链接服务器
var connection = NSURLConnection(request: request, delegate: self)
}
func connection(connection: NSURLConnection, didReceiveResponse response: NSURLResponse) {
//接收响应
print("cao")
}
//接受到服务器传输数据的时候调用 此方法根据数据大小执行若干次
var jsonData = NSMutableData()
func connection(connection: NSURLConnection, didReceiveData data: NSData) {
//收到数据
self.jsonData.appendData(data)
}
同步post的方法
func synchronousPost() {
//创建URL对象
var url = NSURL(string: "http://m.weather.com.cn/data/1010.10100.html")
//创建请求的对象用nsurlrequest的子类来创建
var request = NSMutableURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.UseProtocolCachePolicy, timeoutInterval: 10)
//使用post基本上是用http的协议 数据量也一般较小 如果较大的话 就是另外一回事了
//设置请求方式为Post 原先默认为get
request.HTTPMethod = "POST"
//设置参数
var str = "type=focus-c"
var data = str.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
request.HTTPBody = data
//响应的对象
var resp:NSURLResponse?
//错误的对象
var error:NSError?
//发出请求
do { received = try NSURLConnection.sendSynchronousRequest(request, returningResponse: &resp)
}
catch{
print("错误")
}
var jsonString = NSString(data: received, encoding: NSUTF8StringEncoding)
print(jsonString)
}
异步post的方式
//异步post的方法 传输数据
func synchronousPost() {
//创建URL对象
var url = NSURL(string: "http://m.weather.com.cn/data/1010.10100.html")
//创建请求的对象用nsurlrequest的子类来创建
var request = NSMutableURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.UseProtocolCachePolicy, timeoutInterval: 10)
//使用post基本上是用http的协议 数据量也一般较小 如果较大的话 就是另外一回事了
//设置请求方式为Post 原先默认为get
request.HTTPMethod = "POST"
//设置参数
var str = "type=focus-c"
var data = str.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
request.HTTPBody = data
//响应的对象
var resp:NSURLResponse?
//错误的对象
//链接服务器
var connection = NSURLConnection(request: request, delegate: self)
}