网络NSURLSession

简单下载图片

dispatch_queue_t queue =dispatch_queue_create(NULL, DISPATCH_QUEUE_CONCURRENT);

dispatch_async(queue, ^{

//1.获取网址字符串

NSString * urlString = @"http://www.bz55.com/uploads/allimg/121230/1-121230094954.jpg";

//2.NSString->NSURL

NSURL * url = [NSURL URLWithString:urlString];

//3.同步下载

NSData * data = [NSData dataWithContentsOfURL:url];

UIImage * image = [UIImage imageWithData:data];

dispatch_sync(dispatch_get_main_queue(), ^{

self.view.backgroundColor = [UIColor colorWithPatternImage:image];

});

});

NSURL

NSString * urlString = @"http://www.bz55.com/uploads/allimg/121230/1-121230094954.jpg";

NSURL * url = [NSURL URLWithString:urlString];

NSLog(@"Scheme: %@", [url scheme]);

NSLog(@"Host: %@", [url host]);

NSLog(@"Port: %@", [url port]);

NSLog(@"Path: %@", [url path]);

NSLog(@"Relative path: %@", [url relativePath]);

NSLog(@"Path components as array: %@", [url pathComponents]);

NSURLSession

NSString * urlString = @"http://www.bz55.com/uploads/allimg/121230/1-121230094954.jpg";

NSURL * url = [NSURL URLWithString:urlString];

NSURLSessionConfiguration * defaultConfig = [NSURLSessionConfiguration defaultSessionConfiguration];

defaultConfig.timeoutIntervalForRequest = 20;

defaultConfig.timeoutIntervalForResource = 60;

defaultConfig.allowsCellularAccess = NO;//只能用wifi

NSURLSession * session = [NSURLSession sessionWithConfiguration:defaultConfig];

NSURLSessionDataTask * datatask =[session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

NSLog(@"%@",[NSThread currentThread]);

}];

[datatask resume];

时间: 2024-08-04 20:24:11

网络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 = [

iOS开发网络篇—发送GET和POST请求(使用NSURLSession)

iOS开发网络篇—发送GET和POST请求(使用NSURLSession) 说明: 1)该文主要介绍如何使用NSURLSession来发送GET请求和POST请求 2)本文将不再讲解NSURLConnection的使用,如有需要了解NSURLConnection如何发送请求. 详细信息,请参考:http://www.cnblogs.com/wendingding/p/3813706.html 3)本文示例代码发送的请求均为http请求,已经对info.plist文件进行配置. 如何配置,请参考:

iOS开发之网络编程--1、NSURLSession的基本使用

前言:学习NSURLSession的使用之前,先学习一篇关于NSURLSession的好文章<From NSURLConnection to NSURLSession>或者是国内的译文<从 NSURLConnection 到 NSURLSession>,或者不用学习本人的博客园笔记直接学习<从 NSURLConnection 到 NSURLSession>也是可以的,这篇对NSURLSession的使用有着挺详细的论述.但是本文先粗略介绍一下NSURLSession的基

网络编程(一) 利用NSURLSession发送GET POST请求

Xcode 7.0后,http链接不能直接访问(https可以),需要在Info.plist增加下面一项才能正确访问. 使用NSURLSession进行网络请求的流程: 1.构造NSURL 2.构造NSURLRequest请求对象 3.构造NSURLSession会话对象 4.创建网络请求任务:dataTask, downloadTask, uploadTask 5.发送网络请求 1.GET 请求(GET一般用于获取/查询资源信息) - (void)HTTPGET { //1.构造NSURL N

ios开发网络学习十二:NSURLSession实现文件上传

#import "ViewController.h" // ----WebKitFormBoundaryvMI3CAV0sGUtL8tr #define Kboundary @"----WebKitFormBoundaryjv0UfA04ED44AhWx" #define KNewLine [@"\r\n" dataUsingEncoding:NSUTF8StringEncoding] @interface ViewController ()&l

NSURLSession请求网络-01-网络

/* 网络请求的流程: 1.构造NSURL连接地址 2.构造NSURLRequest请求对象,包含请求头和请求体信息. 3.构造NSURLSessionConfiguration,可选 4.构造NSURLSession会话对象 5.创建请求任务 6.发送网络请求 */ 1 // 2 // ViewController.m 3 // 01-NSURLSession请求网络 4 // 5 // 6 7 #import "ViewController.h" 8 9 @interface Vi

iOS 网络请求 NSURLSession 的上传文件方法

NSURLSession/NSURLConnection的上传文件方法 此篇文章的理论基础主要是与HTTP网络通信协议相关.为集中精力,可以先把TCP/IP协议这些置之不理,也就是先只关注HTTP的请求和响应的结构.HTTP完整的原理内容就此略过.在此只略提相关内容.文中涉及的设计源码可以通过这里获取 https://github.com/wuqingjian2015/uploadHelper,有意者可以去看看. HTTP是干什么用的呢? 先考虑一下以下应用过程: 从客户端向服务器端发起一个请求

IOS 网络浅析-(八 NSURLSession简介)

就在不长也不短的时间前,苹果正式命令咱们要向NSURLSession看,因此我们不得不认认真真的听从老大的教导,努力认知NSURLSession.其实呢,三方早已为我们解决了问题,但是呢,我们还是有必要大概了解一下NSURLSession.下面呢,我就为大家简单介绍NSURLSession. *下面是一位大牛写过的一段话,在此献上* NSURLConnection在开发中会使用的越来越少,iOS9已经将NSURLConnection废弃,现在最低版本一般适配iOS,所以也可以使用.NSURLCo

iOS网络2——NSURLSession

原文在此 一.整体介绍 NSURLSession在2013年随着iOS7的发布一起面世,苹果对它的定位是作为NSURLConnection的替代者,然后逐步将NSURLConnection退出历史舞台.现在使用最广泛的第三方网络框架:AFNetworking.SDWebImage等等都使用了NSURLSession.作为iOS开发人员,应该紧随苹果的步伐,不断的学习,无论是软件的更新.系统的更新.API的更新,而不能墨守成规. Session翻译为中文意思是会话,我们知道,在七层网络协议中有物理