- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章支持断点下载的VBS代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
之前我就介绍过VBScript语言的强大。今天再给出一个支持断点下载的VBS代码。 并附上VBS代码的解析,不懂的朋友可以配合微软的SCRIPT56.CHM文档自学。很简单, VBS的好处就是代码易于理解。基本上每行代码执行功能都用英文表示出来了。 这个代码也是对我以前介绍的VBS下载功能的补充。 老规矩,复制保存为dl.vbe。 不过这个VBS的代码的不同之处不是双击运行,而是在CMD命令行下执行。 下载功能执行的格式是: cscript.exe dl.vbs (目标文件地址) [以下载MetaSploit的WIn32版本为例。在CMD中输入:cscript.exe dl.vbs http://spool.metasploit.com/releases/framework-3.2.exe] 36.7M的文件下载用了7分多钟,而迅雷用了1分50秒。 代码如下:
复制代码 代码如下
if (lcase(right(wscript.fullname,11))="wscript.exe") then'判断脚本宿主的名称' die("Script host must be CScript.exe.") '脚本宿主不是CScript,于是就die了' end if if wscript.arguments.count<1 then'至少要有一个参数' die("Usage: cscript webdl.vbs url [filename]") '麻雀虽小五脏俱全,Usage不能忘' end if url=wscript.arguments(0) '参数数组下标从0开始' if url="" then die("URL can't be null.") '敢唬我,空url可不行' if wscript.arguments.count>1 then'先判断参数个数是否大于1' filename=wscript.arguments(1) '再访问第二个参数' else '如果没有给出文件名,就从url中获得' t=instrrev(url,"/") '获得最后一个"/"的位置' if t=0 or t=len(url) then die("Can not get filename to save.") '没有"/"或以"/"结尾' filename=right(url,len(url)-t)'获得要保存的文件名' end if if not left(url,7)="http://" then url="http://"&url'如果粗心把“http://”忘了,加上' set fso=wscript.createobject("Scripting.FileSystemObject") 'FSO,ASO,HTTP三个对象一个都不能少' set aso=wscript.createobject("ADODB.Stream") set http=wscript.createobject("Microsoft.XMLHTTP") if fso.fileexists(filename) then '判断要下载的文件是否已经存在' start=fso.getfile(filename).size '存在,以当前文件大小作为开始位置' else start=0 '不存在,一切从零开始' fso.createtextfile(filename).close '新建文件' end if wscript.stdout.write "Connectting..." '好戏刚刚开始' current=start '当前位置即开始位置' do http.open "GET",url,true'这里用异步方式调用HTTP' http.setrequestheader "Range","bytes="&start&"-"&cstr(start+20480) '断点续传的奥秘就在这里' http.setrequestheader "Content-Type:","application/octet-stream" http.send '构造完数据包就开始发送' for i=1 to 120 '循环等待' if http.readystate=3 then showplan() '状态3表示开始接收数据,显示进度' if http.readystate=4 then exit for '状态4表示数据接受完成' wscript.sleep 500 '等待500ms' next if not http.readystate=4 then die("Timeout.") '1分钟还没下完20k?超时!' if http.status>299 then die("Error: "&http.status&" "&http.statustext) '不是吧,又出错?' if not http.status=206 then die("Server Not Support Partial Content.") '服务器不支持断点续传' aso.type=1 '数据流类型设为字节' aso.open aso.loadfromfile filename '打开文件' aso.position=start'设置文件指针初始位置' aso.write http.responsebody '写入数据' aso.savetofile filename,2 '覆盖保存' aso.close range=http.getresponseheader("Content-Range") '获得http头中的"Content-Range"' if range="" then die("Can not get range.")'没有它就不知道下载完了没有' temp=mid(range,instr(range,"-")+1) 'Content-Range是类似123-456/789的样子' current=clng(left(temp,instr(temp,"/")-1))'123是开始位置,456是结束位置' total=clng(mid(temp,instr(temp,"/")+1)) '789是文件总字节数' if total-current=1 then exit do '结束位置比总大小少1就表示传输完成了' start=start+20480 '否则再下载20k' loop while true wscript.echo chr(13)&"Download ("&total&") Done." '下载完了,显示总字节数' function die(msg) '函数名来自Perl内置函数die' wscript.echo msg '交代遗言^_^' wscript.quit '去见马克思了' end function function showplan() '显示下载进度' if i mod 3 = 0 then c="/" '简单的动态效果' if i mod 3 = 1 then c="-" if i mod 3 = 2 then c="\" wscript.stdout.write chr(13)&"Download ("¤t&") "&c&chr(8)'13号ASCII码是回到行首,8号是退格' end function 。
以上就是完整的用VBS写的支持断点的下载代码,非常适合公司禁止用XunLei、Flashget的情况。只是速度是个问题。需要完善到多线程下载.
最后此篇关于支持断点下载的VBS代码的文章就讲到这里了,如果你想了解更多关于支持断点下载的VBS代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
当我尝试通过我的 .exe 文件从 url 下载 .pdf 文件时出现以下错误。 The server committed a protocol violation. Section=Response
我是一家非营利组织的 G Suite 管理员,刚刚发现数据导出功能,这似乎是个人帐户的外卖。 导出文件已准备好,现在可以从 Google Cloud Platform Storage 中的存储桶下载。
导航 引言 总体思路 七牛云相关的配置文件 获取七牛云上传token 相关类定义 核心代码实现 获取七牛云图片下载链接 公开空
这不是后端编程问题。我只能修改标记或脚本(或文档本身)。我在这里问的原因是因为我对适当术语的所有搜索都不可避免地导致有关编程此功能的问题和解决方案。我不是试图通过编程来强制它;我必须找出此 PDF 行
您好,我已在 Google AdSense 中注册,我想使用适用于 iOS 的 SDK,但目前我找不到 SDK 下载链接。 我的申请已获批准。 任何人都知道如何下载这个sdk。 我使用这个链接来描述如
我需要为当前在 SourceForge 上的 github 项目提供二进制文件和文档。在那里,我可以为我需要的下载提供一个目录结构,因为我必须为大约 10 个不同的操作系统提供几个版本。 github
我从 Canvas 下载绘图时遇到问题。这是我的代码: function downloadCanvas(link, canvasId, filename) { link.href =
ASP.NET 项目 我将使用 Azure 进行存储。问题(要求): 在我的项目中,我让注册用户下载文件。但我不希望用户将此下载链接分享给未注册的人(例如:我给注册用户的下载链接只能在他们的计算机上下
我编写了一个servlet,用于检查http header ,但我不知道为什么当页面加载时,它会自动开始下载。 /* * To change this template, choose To
我正在尝试将下载添加到我的网络浏览器,但遇到的问题是获取您尝试下载的文件的名称。这是我的下载代码: engine.locationProperty().addListener(new ChangeLi
我正在尝试下载网站的 html: String encoding = "UTF-8"; HttpContext localContext = new BasicHttpContext();
我制作了一个带有“开始下载”按钮的框架,用于从网站下载 JAR。 问题是每当我点击开始下载按钮时,整个框架就会卡住,直到下载完成,然后就正常了。 我该如何解决这个问题? 这是单击按钮时执行的代码 p
我得到这段代码来实现一些东西,它可以帮助我从给定的 URL 下载文件。 -(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSes
我正在尝试创建一个 Controller 来使用流方法下载和上传文件,在我的例子中,所有文件都作为 Blob 保存在数据库中。我阅读了 Jboss Netty 的文档,但我认为这不是我的最佳解决方案。
下载并保存文件 let destination: DownloadRequest.DownloadFileDestination = { _, _ in // var fileURL = sel
使用 htaccess 我基本上试图禁止访问该页面,即 http://example.com , 但它仍然允许人们下载文件,如果他们有直接链接即 http://example.com/hi.zip .
我正在寻求将脚本与我的控制面板集成,并且由于我是新手脚本编写者而遇到问题。我想做的是用 1 个脚本下载一个文件并解压它。 示例: wget http://example.com/example.tar
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
这个问题在这里已经有了答案: Top techniques to avoid 'data scraping' from a website database (14 个答案) 关闭 5 年前。 我有
这个问题在这里已经有了答案: Reading and parsing email from Gmail using C#, C++ or Python (6 个答案) 关闭 7 年前。 我只是想,是
我是一名优秀的程序员,十分优秀!