NSURLSession的用法

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

//[self getTest];

[self postTest];

}

-(void) getTest{

NSURLSession *session = [NSURLSession sharedSession];

NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/video?type=JSON"];

NSURLSessionTask *task = [session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

NSLog(@"%d",data.length);

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];

NSLog(@"%@",dict);

}];

[task resume];

}

-(void) postTest{

NSURLSession *session = [NSURLSession sharedSession];

//url = http://120.25.226.186:32812/login?username=123&pwd=123&type=JSON

NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/login"];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

request.HTTPMethod=@"POST";

request.HTTPBody = [@"username=123&pwd=123&type=JSON" dataUsingEncoding:NSUTF8StringEncoding];

NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];

NSLog(@"___%@",dict);

}];

[task resume];

}

时间: 2024-08-24 14:37:48

NSURLSession的用法的相关文章

IOS后台任务

http://onevcat.com/2013/08/ios7-background-multitask/ IOS提供了以下多中方式处理后台任务 1:beginBackgroundTaskWithExpirationHandler 2:特定任务的后台处理 3:后台获取 4:推送唤醒 5:后台传输 其中后面3种方式IOS7之后才支持 beginBackgroundTaskWithExpirationHandler - (BOOL)application:(UIApplication *)appli

NSURLSession用法示例及断点续传视频的实现

NSURLSession是苹果在WWDC2013中提出来的,旨在替代NSURLConnection,与我们之前经常使用的NSURLConnection不同,NSURLSession为我们提供了更灵活的使用方法,包括后台下载以及断点续传的实现等功能.之前使用下载一直用的都是第三方框架比如OC的AFNetworking或者Swift的Alamofire.虽然第三方库用起来很方便也很稳定,但是还是想自己研究下苹果原生的下载框架.这几天研究了下NSURLSession,做了一个加载视频的demo,包括了

NSJSONSerialization的简单用法

NSJSONSerialization 苹果官方给出的解析方式是性能最优越的,虽然用起来稍显复杂. 首先我们在上面已经有了我希望得到的信息的网站的API给我们的URL,在OC中,我要加载一个NSURL对象,来向网站提交一个Request.到这里需要特别注意了,iOS9的时代已经来临,我们先前在旧版本中使用的某些类或者方法都已经被苹果官方弃用了.刚刚我们向网站提交了一个Request,在以往,我们是通过NSURLConnection中的sendSynchronousRequest方法来接受网站返回

GCD和NSOperation 的概念,用法及之间的区别

CGD与NSOperation的区别 gcd是基于c的底层api,NSOperation属于object-c类.相对于gcd:1,NSOperation拥有更多的函数可用,具体查看api.2,在NSOperationQueue中,可以建立各个NSOperation之间的依赖关系.3,有kvo,可以监测operation是否正在执行(isExecuted).是否结束(isFinished),是否取消(isCanceld).4,NSOperationQueue可以方便的管理并发.NSOperatio

NSURLSession(三)POST请求—&gt;上传图片

这个例子,还是以新浪微博为例. 首先在宏定义出POST请求头的一个属性:请求体边界,它是干什么用的呢,先别急,往下看 #define boundary @"AaB03x" //设置边界 参数可以随便设置 //1.构建URL NSURL *url=[NSURL URLWithString:@"https://api.weibo.com/2/statuses/upload.json"]; //2.创建request请求 //NSURLRequest *request=[

iOS开发-AFNetworking/NSURLSession异步处理

相信对于GitHub上著名的AFNetworking API,一定都不陌生.本文是一篇基础使用的心得,老手请绕行. AFNetworking与NSURLSession都是依靠block内的代码进行异步处理来得到网络数据(比如by jSON格式),这样做的好处就是不会阻塞主队列的进程,当block内的代码执行完毕时,进行回调处理,回到主队列.这样当需要得到很多网络数据时,不会让用户在一个空白的页面等待很久,可以把不需要网络数据的部分提前加载,增加用户体验.而且现在NSURLConnection这种

iOS开发之Alamofire源码解析前奏--NSURLSession全家桶

今天博客的主题不是Alamofire, 而是iOS网络编程中经常使用的NSURLSession.如果你想看权威的NSURLSession的东西,那么就得去苹果官方的开发中心去看了,虽然是英文的,但是结合代码理解应该不难.更详细的信息请移步于苹果官方介绍URL Loading System,网上好多iOS网络编程的博客都翻译于此.因为目前iOS开发中,网络请求大部分使用NSURLSession,所以今天的博客我们就以NSURLSession展开.关于之前使用的NSURLConnection在此就不

ios NSURLSession使用说明及后台工作流程分析

转自:http://www.maxiaoguo.com/clothes/268.html NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的.在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作.注意,如果用户强制将程序关闭,NSURLSession会断掉. NSURLSession提供的功能: 1.通过URL将数据下载到内存 2.通过URL将数据下载到文件系统 3.将数据上传到指定URL 4.在后台完成上述

iOS NSURLSession VS NSURLConnection

NSURLSession VS NSURLConnection NSURLSession可以看做是NSURLConnection的进化版,其对NSURLConnection的改进点有: * 根据每个Session做配置(http header,Cache,Cookie,protocal,Credential),不再在整个App层面共享配置. * 支持网络操作的取消和断点续传 * 改进了授权机制的处理 * 丰富的Delegate模型 * 分离了真实数据和网络配置数据. * 后台处理上传和下载,即使