NSURLSession的GET和POST下载
* GET和POST在应用场合有什么区别呢?
* GET方法向指定资源发出请求,发送的消息显示的跟在URL后面,用户信息不安全,并且传送信息量有限。(如下所示,在请求中能看到用户名和密码)
http://localhost:8080/logandreg/logreg?name=wyg&pwd=1992
* 如果仅仅是向服务器索要数据,没有参数,使用GET比较方便。(如下所示)
http://www.baidu.com
* POST传送的信息量大,并且传送的信息是被隐藏的,传送信息比较安全,如果向服务器传送数据,建议使用POST
1 /* 2 X-Code7NSURLConnection已经被弃用了,官方建议使用NSURLSession(ios7之后就已经出现了),在NSURLConnection的基础上进行的封装 3 4 */ 5 #if 0 6 NSString * path = @"http://10.0.8.8/sns/my/user_list.php?number=10&page=2"; 7 //如果有参数 在URL后面用?连接起来 参数 = 具体的数据 8 //多个参数 用&连接起来 9 //如果是直接在URL后面加上参数 这种事get请求 默认就是get请求 10 NSURL * url = [NSURL URLWithString:path]; 11 12 //请求类对象 13 NSURLRequest * request = [NSURLRequest requestWithURL:url]; 14 //NSURLSession对象 15 NSURLSession * session = [NSURLSession sharedSession]; 16 //NSURLSession数据任务 网络连接 17 NSURLSessionDataTask * task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 18 19 if (!error) { 20 id obj = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; 21 NSLog(@"%@",obj); 22 }else{ 23 NSLog(@"%@",error); 24 } 25 }]; 26 //启动任务 启动下载 27 [task resume]; 28 #else 29 30 NSString * path = @"http://10.0.8.8/sns/my/user_list.php"; 31 32 NSURL * url = [NSURL URLWithString:path]; 33 34 NSMutableURLRequest * request = [[NSMutableURLRequest alloc]initWithURL:url]; 35 //如果不设置 默认就是get 36 //设置请求的方式 37 request.HTTPMethod = @"POST"; 38 //不能在URL后面直接拼它的参数 39 40 //需要把参数写到请求的body里 41 NSString * str = @"number=10&page=2"; 42 //设置请求的body 43 request.HTTPBody = [str dataUsingEncoding:NSUTF8StringEncoding]; 44 45 NSURLSession * session = [NSURLSession sharedSession]; 46 47 NSURLSessionDataTask * task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 48 49 if (!error) { 50 id obj = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; 51 NSLog(@"%@",obj); 52 }else{ 53 NSLog(@"%@",error); 54 } 55 }]; 56 57 [task resume]; 58 59 #endif