/**

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

在今后的开发中,如果使用简单的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)

}

}

}

}

最新文章

  1. 聊聊 C 语言中的 sizeof 运算
  2. PHP面向对象07_PDO
  3. form中动态生成Radiobutton控件
  4. Linux 打通ssh无密码登录
  5. [NOIP2011] 计算系数(二项式定理)
  6. SQL Server 数据库中关于死锁的分析
  7. Android工程目录及其作用简介
  8. IOS 多线程之GCD
  9. 转:SRIO错误侦测和管理机制
  10. OC中Foundation框架之NSDictionary、NSMutableDictionary
  11. HDU1018-Big Number
  12. centos7下安装docker(13.4容器volume总结)
  13. [蓝桥] 历届试题 错误票据 (List用法,空格处理)
  14. [转载]Getting Started with ASP.NET vNext and Visual Studio 14
  15. 【Eclipse】开发专题
  16. C# Graphics中有关绘图质量的几个Mode
  17. 【转】.net MVC 生命周期
  18. lintcode-39-恢复旋转排序数组
  19. smartcar 系列机器人学习笔记1
  20. mybatis异常:Could not find result map ......... 问题分析及解决

热门文章

  1. Android NDK调试出错Unknown Application ABI, Unable to detect application ABI's的解决方式
  2. Leetcode47: Palindrome Linked List
  3. ubuntu网络重启后或主机重启后,/etc/resolv.conf恢复原样的解决办法
  4. 华为畅玩5 (CUN-AL00) 刷入第三方twrp Recovery 及 root
  5. java中goto语句
  6. C#异步编程的实现方式(4)——Task任务
  7. JXNU 新生选拔赛
  8. ftp实现图片上传,文件也类似
  9. BZOJ3998: [TJOI2015]弦论(后缀自动机,Parent树)
  10. Python 极简教程(一)前言