get和post方法的使用

来源:互联网 发布:淘宝试用中心手机版 编辑:程序博客网 时间:2024/05/08 12:30

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)    }




0 0