class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//http://api.izhangchu.com/
//methodName=HomeIndex&user_id=0&version=1.0
//NSURLSession实现POST请求
//1.创建NSURL对象
let url = NSURL(string: "http://api.izhangchu.com/")
//2.创建NSMutableURLRequest对象
let request = NSMutableURLRequest(URL: url!)
//传递参数
let paramString = "methodName=HomeIndex&user_id=0&version=1.0"
let data = paramString.dataUsingEncoding(NSUTF8StringEncoding)
request.HTTPBody = data
//设置请求方式
request.HTTPMethod = "POST"
//POST请求除了设置请求体的参数之外,还可以修改请求头
/*
//1)设置参数的大小,默认是会传递
//Content-Length
let len = "\(data?.length)"
request.setValue(len, forHTTPHeaderField: "Content-Length")
//2)设置请求数据的格式
//默认参数值是"application/x-www-form-urlencoded"
//还有其他值"text/html"、"text/xml"等等
//Content-Type
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
*/
//3.NSURLSession
let session = NSURLSession.sharedSession()
//4.task
let task = session.dataTaskWithRequest(request) { (data, response, error) in
if let err = error {
//下载失败
print(err)
}else{
let httpRes = response as! NSHTTPURLResponse
if httpRes.statusCode == 200 {
//下载成功
let str = NSString(data: data!, encoding: NSUTF8StringEncoding)
print(str)
}else{
print("下载失败")
}
}
}
//5.开始请求
task.resume()
}
POST: NSURLSession
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣...
- block方式处理返回结果: delegate方式处理返回结果:<NSURLSessionDataDelegate>
- 这是 Swift3.0 版的 直接建一个 Swift 文件粘贴代码就可以使用了 这是 OC 版的 BaseReq...