首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
[iOS 多线程 & 网络 - 2.10] - ASI框架下载文件
】的更多相关文章
[iOS 多线程 & 网络 - 2.10] - ASI框架下载文件
A.ASI框架中的下载 1.实现步骤 在实际的开发中如果要使用asi框架来下载服务器上的文件,只需要执行下面简单的几个步骤即可. (1)创建请求对象:(2)设置下载文件保存的路径:(3)发送下载文件的网络请求(异步).按照上面的几个步骤执行,程序会自动开启异步线程,一点一点的把数据写入到指定的文件路径,而且不论是下载多大的文件都不会占用大量的内存空间. ASI框架是基于底层的cfnoteworking的,性能很好.当然也可以设置block,或者是监听下载的进度. 自动会使用“边下边写” 使用…
[iOS 多线程 & 网络 - 2.9] - ASI框架
A.ASI基本知识 1.ASI简单介绍 ASI:全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大. ASI的实现基于底层的CFNetwork框架,因此运行效率很高. ASI的github地址 https://github.com/pokeb/asi-http-request ASI的使用参考http://www.cnblogs.com/dotey/archive/2011/05/10/2041966.html http://www.oschina.net/quest…
[iOS 多线程 & 网络 - 2.11] - ASI框架上传文件
A.ASI的上传功能基本使用 1.实现步骤 (1)创建请求 使用ASIFormDataRequest (2)设置上传文件路径 (3)发送请求 2.上传相册相片 UIImagePickerController用来选择图片 设置图片来源,可以选择相册 使用代理 UIImagePickerControllerDelegate方法,选择完成之后取得相片 // // ViewController.m // ASIUploadDemo // // Created by hellovoidworl…
iOS开发网络篇—使用ASI框架进行文件下载
iOS开发网络篇—使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: #import "YYViewController.h" #import "ASIHTTPRequest.h" @interface YYViewController () @end @implementation YYViewController - (void)viewDidLoad { [super vie…
[iOS 多线程 & 网络 - 4.0] - AFN框架简单使用
A.AFN基本知识 1.概念 AFNetworking 是对NSURLConnection的封装 运行效率没有ASI高(因为ASI基于CFNetwork),但是使用简单 AFN支持ARC B.基本请求使用 1.基本使用 (1)头文件 AFNetworking.h (2)管理者类:AFHTTPRequestOperationManager (3)“GET”方法发送GET请求,使用“POST”方法发送POST请求 (4)使用字典发送参数 (5)block处理请求成功/失败 /** 发送…
[iOS 多线程 & 网络 - 2.0] - 发送接收 服务器信息
A.搭建java服务器 使用eclipse.tomcat和struts2框架搭建一个简单的服务器 1.准备好合适版本的JDK.eclipse EE.tomcat.struts2 框架包 2.配置JDK和tomcat系统变量 3.在eclipse中创建一个Dynamic Web Project, 勾选创建web.xml 4.解压一个struts2中的app范例,参考其中的web.xml和struts.xml配置 5.配置tomcat,注意配置正确的服务器的路径和发布路径,不要使用默认的eclips…
[iOS 多线程 & 网络 - 1.0] - 多线程概述
A.进程 什么是进程进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcode,系统就会分别启动2个进程 通过"活动监视器"可以查看Mac系统中所开启的进程 B.线程 主线程.子线程占用内存分别是1M和512K 1.什么是线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) 线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 比如使用酷狗播放音乐.使用迅雷下载电影,都需要在线…
ios开发网络学习四:NSURLConnection大文件断点下载
#import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> @property (weak, nonatomic) IBOutlet UIProgressView *progressView; @property (nonatomic, assign) NSInteger totalSize; @property (nonatomic, assign) NSInte…
网络传输速度bps与下载文件所需时间的换算
相信很多同志都非常关注自己家的计算机上网的宽带是多少.关心单位上网的宽带是多少! 但是很多同志都经常误解网络传输速度,以至于责备网络接入商(电信.网通.铁通等单位)欺骗用户,限制上网的速度! 本文,就给您详细介绍一下带宽中提到的bps与下载文件所需时间的换算! 先看下图! 这是我个人上网的宽带,注意拉,速度是"100.0Mbps": 到这里,俺想试问一个问题,以这样的速度,假设处于理想状态,那么,我下载100MB的文件,需要多少时间呢? 如果您回答,需要1秒钟,那么,您就错了,并且是完…
ios开发网络学习五:输出流以及文件上传
一:输出流 #import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> @property (weak, nonatomic) IBOutlet UIProgressView *progressView; @property (nonatomic, assign) NSInteger totalSize; @property (nonatomic, assign)…
ios开发网络学习三:NSURLConnection小文件大文件下载
一:小文件下载 #import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> /** 注释 */ @property (nonatomic, strong) NSMutableData *fileData; @property (nonatomic, assign) NSInteger totalSize; @property (weak, nonatomic) IB…
10.用js下载文件(需要后端链接)
用js下载文件 PS:本文说的,并非如何用js创建流.创建文件.实现下载功能. 而是说的:你已知一个下载文件的后端接口,前端如何请求该接口,实现点击按钮.下载文件到本地.(可以是zip啦.excel啦都是一样) 有两个方法:window.open()和通过form表单来提交. 在线例子:https://hamupp.github.io/gitblog/app/jsBasic/jsButtonDownloadFile/index.html 方法一:window.open("下载文件的后…
python网络编程-socket上传下载文件(包括md5验证,大数据发送,粘包处理)
ftp server 1) 读取文件名 2)检查文件是否存在 3)打开文件 4)检查文件大小 5)发送文件大小给客户端 6)等客户端确认 7)开始边读边(md5计算)发数据 8)给客户端发md5 ftp下载文件 服务器 # -*- coding:utf-8 -*- __author__ = 'shisanjun' import socket import os import hashlib server=socket.socket() server.bind(("127.0.0.1",…
python网络爬虫之使用scrapy下载文件
前面介绍了ImagesPipeline用于下载图片,Scrapy还提供了FilesPipeline用与文件下载.和之前的ImagesPipeline一样,FilesPipeline使用时只需要通过item的一个特殊字段将要下载的文件或图片的url传递给它们,它们便会自动将文件或图片下载到本地.将下载结果信息存入item的另一个特殊字段,便于用户在导出文件中查阅.工作流程如下: 1 在一个爬虫里,你抓取一个项目,把其中图片的URL放入 file_urls 组内. 2 项目从爬虫内返回,进入项目管道…
[iOS 多线程 & 网络 - 2.4] - 大文件下载 (边下边写/暂停恢复下载/压缩解压zip/多线程下载)
A.需求 边下边写入硬盘 显示下载进度 暂停/恢复 下载 解压文件 多线程下载 B.基本知识 1.小文件下载 如果文件比较小,下载方式会比较多直接用NSData的+ (id)dataWithContentsOfURL:(NSURL *)url;利用NSURLConnection发送一个HTTP请求去下载如果是下载图片,还可以利用SDWebImage框架 2.HTTP的Range头信息 通过设置请求头Range可以指定每次从网路下载数据包的大小Range示例bytes=0-499 从0到4…
[iOS 多线程 & 网络 - 2.8] - 检测网络状态
A.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的:(1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能)(2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态https://developer.apple.com/library/ios/samplecode/Reachabili…
[iOS 多线程 & 网络 - 2.3] - 解析xml
A.XML基本知识 1.xml概念 什么是XML全称是Extensible Markup Language,译作“可扩展标记语言”跟JSON一样,也是常用的一种用于交互的数据格式一般也叫XML文档(XML Document) XML举例<videos> <video name="小黄人 第01部" length="30" /> <video name="小黄人 第02部" length="19&…
[iOS 多线程 & 网络 - 2.1] - 解析json
A.iOS中json的基本使用 1.解析json数据 (1)json反序列化 对象{}格式 {key : value, key : value,...} 的键值对的结构可以反序列化为OC中的NSDictionary数组[]格式 ["java","javascript","vb",...]可以反序列化为OC中的NSArray提示JSON的数据格式与OC中的快速包装方法非常类似JSON的数据格式同样支持嵌套 (2)json工具 从iOS 5开始,…
[iOS 多线程 & 网络 - 1.3] - NSOperation
A.NSOperation的基本使用 1.NSOperation的作用 配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤先将需要执行的操作封装到一个NSOperation对象中然后将NSOperation对象添加到NSOperationQueue中系统会自动将NSOperationQueue中的NSOperation取出来将取出的NSOperation封装的操作放到一条新线程中执行 …
iOS 通过网络请求获取图片的下载歌曲
1.导入代理<NSURLConnectionDataDelegate> @interface ViewController ()<NSURLConnectionDataDelegate> { long long alllength; //下载总长度 long long currlenth; //当期下载长度 } //存放下载的mp3 数据流 @property(nonatomic,strong)NSMutableData *msicDate; //下载进度显示 @property(…
[iOS 多线程 & 网络 - 3.0] - 在线动画Demo
A.需求 所有数据都从服务器下载 动画列表包含:图片.动画名标题.时长副标题 点击打开动画观看 code source: https://github.com/hellovoidworld/VideoOnlineDemo server source: https://github.com/hellovoidworld/MyOnlineVideoDemoServer B.实现 1.显示图片和基本信息 服务器端的json信息: { "videos": [ { "…
[iOS 多线程 & 网络 - 1.2] - 多线程GCD
A.GCD基本使用 1.GCD的概念 什么是GCD全称是Grand Central Dispatch,可译为"牛逼的中枢调度器"纯C语言,提供了非常多强大的函数GCD的优势GCD是苹果公司为多核的并行运算提出的解决方案GCD会自动利用更多的CPU内核(比如双核.四核)GCD会自动管理线程的生命周期(创建线程.调度任务.销毁线程)程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码 2.任务和队列 GCD中有2个核心概念任务:执行什么操作队列:用来存放任务GCD的使用就…
[iOS 多线程 & 网络 - 1.1] - 多线程NSThread
A.NSThread的基本使用 1.创建和启动线程 一个NSThread对象就代表一条线程创建.启动线程NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];[thread start];// 线程一启动,就会在线程thread中执行self的run方法主线程相关用法+ (NSThread *)mainThread; // 获得主线程- (BOOL)isMainTh…
[iOS 多线程 & 网络 - 2.7] - NSURLCache
A.基本知识 1.为什么需要缓存? 有时候一个url会请求多次,得到的内容确实一样的 2.缓存的概念 3.缓存数据的过程 当服务器返回数据时,需要做以下步骤(1)使用服务器的数据(比如解析.显示)(2)将服务器的数据缓存到硬盘(沙盒)此时缓存的情况是:内存缓存中有数据,硬盘缓存中有数据.再次请求数据分为两种情况:(1)如果程序并没有被关闭,一直在运行 那么此时内存缓存中有数据,硬盘缓存中有数据.如果此时再次请求数据,直接使用内存缓存中的数据即可(2)如果程序重新启动 那么…
[iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数
A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Content-Type 设置请求体,JSON实际相当于字典,可以用NSDictionary NSJSONSerialization把字典数据转换成JSON二进制 2.实现 // // ViewController.m // PostJsonDemo // // Created by hellovoidworld on 15/1/28. // Copyright (c) 2015年 hellovo…
[iOS 多线程 & 网络 - 2.5] - 小文件上传
A.文件上传 思路: 发送文件数据给服务器 使用post请求 必须手动设置请求头: 内容大小Content-Length & 内容类型 Content-Type 请求体:文件数据 文件上传的格式要求十分严格,必须严格遵守 由于是一次性加载文件到内存上传,所以只能用于小文件上传 B.实现 1.设置POST请求 (1)使用POST请求方法 (2)设置请求头 设置内容长度.内容类型.分割线 (3)设置请求体 NSMutableData *body = [NSMutableData data];…
使用bitsadmin.exe 下载文件,配合bcn.bat玩出更多的花样~~
bitsadmin的简单介绍与基本用法: bitsadmin.exe 可以用来在windows 命令行下下载文件.bitsadmin是windows 后台智能传输服务的一个工具,windows 的自动更新,补丁之类的下载就是用这个工具来实现的. 跟据我查到的资料 <Use bitsadmin to maintain persistence and bypass Autoruns> 一文当中对bitsadmin的各种用法写得很详细,我这里就必要额外多写了. 后面我会写其它一些我自己能想得到的方法…
Selenium+Python:下载文件(Firefox 和 Chrome)
引自 https://blog.csdn.net/Momorrine/article/details/79794146 1. 环境 操作系统 Win10 IDE Eclipse (Oxygen 4.7)+ PyDev 5.9.2 (JDK1.8) Python 3.5 Selenium selenium-3.9.0-py2.py3-none-any.whl FirefoxDriver 0.20.0 Firefox浏览器 59.0.2(32位) ChromeDriver 2.34 Ch…
iOS开发网络篇—简单介绍ASI框架的使用
iOS开发网络篇—简单介绍ASI框架的使用 说明:本文主要介绍网络编程中常用框架ASI的简单使用. 一.ASI简单介绍 ASI:全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大. ASI的实现基于底层的CFNetwork框架,因此运行效率很高.可惜作者早已停止更新,有一些潜在的BUG无人去解决 ASI的github地址 https://github.com/pokeb/asi-http-request ASI的使用参考 http://www.cnblogs.com/dot…
iOS开发网络篇—大文件的多线程断点下载
http://www.cnblogs.com/wendingding/p/3947550.html iOS开发网络篇—多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始,创建一个和要下载的文件大小相同的文件(如果要下载的文件为100M,那么就在沙盒中创建一个100M的文件,然后计算每一段的下载量,开启多条线程下载各段的数据,分别写入对应的文件部分). 项目中用到的主要…