首页 > 代码库 > 关于网络NSURLSession
关于网络NSURLSession
- (void)get1
{
// 1.创建回话对象
NSURLSession *session = [NSURLSession sharedSession];
// 2. 根据回话对象来创建task
NSURL *url = [NSURL URLWithString:JSON_LONG_URLString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"%@--%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding], [NSThread currentThread]);
}];
[dataTask resume];
}
- (void)get2
{
NSURLSession *session = [NSURLSession sharedSession];
NSURL *url = [NSURL URLWithString:JSON_LONG_URLString];
NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"%@--%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding], [NSThread currentThread]);
}];
[dataTask resume];
}
- (void)post
{
NSURLSession *session = [NSURLSession sharedSession];
NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/login"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"POST";
request.HTTPBody = [@"username=520it&pwd520it&type=JSON" dataUsingEncoding:NSUTF8StringEncoding];
[[session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"%@--%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding], [NSThread currentThread]);
}] resume];
}
- (void)downloadFile
{
NSString *strURL = @"http://120.25.226.186:32812/resources/images/minion_08.png";
NSURLSession *session = [NSURLSession sharedSession];
NSURL *url = [NSURL URLWithString:strURL];
// location 文件下载缓存路径
NSURLSessionDownloadTask *downloadTask = [session downloadTaskWithURL:url completionHandler:^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"location=%@", location);
NSString *fullPath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:response.suggestedFilename];
[[NSFileManager defaultManager] moveItemAtURL:location toURL:[NSURL fileURLWithPath:fullPath] error:nil];
NSLog(@"fullPath=%@", fullPath);
}];
[downloadTask resume];
// 采用block返回的方法,这个方法不适合大文件下载,主要是因为要等到文件下载完成后,才会调用block。
}
关于网络NSURLSession