swift开发网络篇 - post 请求

/**

     所有网络请求,统一使用异步请求!

     

     在今后的开发中,如果使用简单的get/head请求,可以用NSURLConnction异步方法

     GET查/POST增/PUT改/DELETE删/HEAD

     

     GET

     1> URL

     2> NSURLRequest

     3> NSURLConnction 异步

     

     POST

     1> URL

     2> NSMutableURLRequest

     .httpMethod = @"POST";

     str 从 firebug直接粘贴,或者自己写

     变量名1=数值1&变量名2=数值2

     

     .httpData = [str dataUsingEncoding:NSUTF8StringEncoding];

     3> NSURLConnction 异步

     

     */

    overridefunc viewDidLoad() {

        super.viewDidLoad()

        self.postLogon()

    }

    func  postLogon(){

        var  path ="http://xxxxxxxx.com"

        var params:NSMutableDictionary = NSMutableDictionary()

        params["mobile_phone"] ="1xxxxxxxxx5"

        params["password"] ="123456"

        

        var headparams:NSMutableDictionary = NSMutableDictionary()

        headparams["X-xxxx-App-Token"] = "xxxxxx-xxx-xxxx-xxxx-xxxxxxxxxx"

        // 1. URL

        var url:NSURL = NSURL(string: path)!

        

        // 2. 请求(可以改的请求)

        var request:NSMutableURLRequest = NSMutableURLRequest(URL: url)

        // ? POST

        // 默认就是GET请求

        request.HTTPMethod ="POST"

        

        // ? 数据体

        var jsonData:NSData? =nil

        do {

            jsonData  = tryNSJSONSerialization.dataWithJSONObject(params, options:NSJSONWritingOptions.PrettyPrinted)

        } catch {

            

        }

        // 将字符串转换成数据

        request.HTTPBody = jsonData

        

        request.setValue("xxxxxx-xxx-xxxx-xxxx-xxxxxxxxxx", forHTTPHeaderField:"X-xxxx-App-Token")

        NSURLConnection.sendAsynchronousRequest(request, queue:NSOperationQueue()) { (res, data, error)in

            

                let  str =NSString(data: data!, encoding:NSUTF8StringEncoding)

                print(str)

            

        }

    }

    

    

    

    

    

//#pragma mark - POST登录

    func posttoken()

    {

        

        var path ="http://xxxxxxxxx/app/token/request_token"

        let params:NSMutableDictionary = NSMutableDictionary()

        params["app_id"] = "000000000000000000000"

        params["app_secret"] ="000000000000000000000"

        params["mobile_id"] ="000000000000000000000"

        

        // 1. URL

        var url:NSURL = NSURL(string: path)!

        

        // 2. 请求(可以改的请求)

        var request:NSMutableURLRequest = NSMutableURLRequest(URL: url)

        // ? POST

        // 默认就是GET请求

        request.HTTPMethod ="POST"

        // ? 数据体

        var jsonData:NSData? =nil

        do {

            jsonData  = tryNSJSONSerialization.dataWithJSONObject(params, options:NSJSONWritingOptions.PrettyPrinted)

        } catch {

            

        }

        // 将字符串转换成数据

        request.HTTPBody = jsonData

        

        // 3. 连接,异步

        NSURLConnection.sendAsynchronousRequest(request, queue:NSOperationQueue()) { (res, data, error)in

            if(error ==nil){

                var dict:NSDictionary? =nil

                do {

                    dict  = try   NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.init(rawValue:0)) as!NSDictionary

                } catch {

                    

                }

                  //str转换为字典

                //{"data":

                       //{"token":"2e2f6b61-8101-49cf-b7dd-7cfea6f0c499","expire_at":1462885914}

                 //  }

                //data的值

                var data:NSDictionary = dict!["data"] as!  NSDictionary

                //token的值

                var token = data["token"]as! String

                print(token)

                

            }

        }

        

    }


}

转载于:https://www.cnblogs.com/Free-Thinker/p/6428803.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值