IOS 苹果原生Get与POST操作网络数据

一、GET操作


let url : NSURL = NSURL(string: String(format: "http://xxx/ywuserinfo/index.php?action=IMEISet&userphone=%@&IMEI=%@" , self.TextField_Phone.text!.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!,(self.defaults.objectForKey("loginIMEIFlag1") as! String).stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!))!
        
        //创建请求对象
        let request : NSURLRequest = NSURLRequest(URL: url)
        
        //获取会话对象
        let session: NSURLSession = NSURLSession.sharedSession()
        
        //创建一个task发送请求
        let task: NSURLSessionDataTask = session.dataTaskWithRequest(request) { (data, response, error) in
            if error == nil {
                do{
                    
                    //对收到的数据进行json进行解析
                    if let dict = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)as? NSDictionary{
                        
                        let result = dict.objectForKey("IMEISetFlag") as! String
                        dispatch_async(dispatch_get_main_queue(), { () -> Void in
                            if result == "1" {
                                
                                //返回访问成功,执行成功之后的操作
                            }
                        })
                        
                        
                    }
                    
                }catch{
                    print("错误")
                }
            }
            
        }
        //执行任务
        task.resume()

将数据传到数据库中有中文时

字符串.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!

二、POST操作


//创建url路径对象
        let url: NSURL = NSURL(string: String(format: "http://xxx/ios/ywuserwater/index.php"))!
        
        //创建请求对象,分别设置网络方法以及请求参数
        let request = NSMutableURLRequest(URL: url)
        request.HTTPMethod = "POST"
        let args:NSString = NSString(format: "action=waterInsert&username=%@&userphone=%@&IMEI=%@&dormitory=%@&usewater=%@&usemoney=%@&fortime=%@&isnormal=%@" , "1","18879026851","1","408","1","1","20170101","1")
        request.HTTPBody = args.dataUsingEncoding(NSUTF8StringEncoding)
        
        //获取会话对象
        let session: NSURLSession = NSURLSession.sharedSession()
        
        //创建一个task发送请求
        let task: NSURLSessionDataTask = session.dataTaskWithRequest(request) { (data, response, error) in
            if error == nil {
                do{
                    
                    if let dict = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)as? NSDictionary{
                        
                        
                        let result = dict.objectForKey("waterInsertFlag") as! String
                        dispatch_async(dispatch_get_main_queue(), { () -> Void in
                            if result == "1" {
                                print("数据库插入成功")
                            }else if result == "0"{
                                print("数据库插入失败")
                            }
                        })  
                    }
                    
                }catch{
                    print("错误")
                }
            }
            
        }
        //执行任务
        task.resume()

iOS POST需要同步请求时

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,016评论 25 709
  • GET和POST请求 GET和POST请求简介 GET请求模拟登陆 POST请求模拟登陆 GET和POST的对比 ...
    时间不会倒着走阅读 3,696评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,894评论 19 139
  • 写给你的而立之年,写给我的八年陪伴 你在那里,依旧傲然独立,我守在当下所能达到的高地,希望能在离你、离梦想更...
    好气哦_我是单眼皮阅读 2,924评论 0 4
  • 《脚丫子发痒的秋晨》 早晨醒来,秋天 我的脚丫子很痒 这是那座城市馈赠于我的痼疾 我用慵懒的手指去勾搔 死的皮片片...
    黄开兵阅读 1,247评论 2 1

友情链接更多精彩内容