swift開發網絡篇 - post 請求

/**json

     全部網絡請求,統一使用異步請求!網絡

     

     在從此的開發中,若是使用簡單的get/head請求,能夠用NSURLConnction異步方法app

     GET/POST/PUT/DELETE/HEAD異步

     

     GETide

     1> URLpost

     2> NSURLRequesturl

     3> NSURLConnction 異步spa

     

     POST3d

     1> URLorm

     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"asNSDictionary

                //token的值

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

                print(token)

                

            }

        }

        

    }


}

相關文章
相關標籤/搜索