一句VBA 下载上传网上文件
时 间:2012-12-29 01:37:50
作 者:dbaseIIIer ID:22003 城市:深圳
摘 要:VBA既然是我们的快速开发工具,我们就要让工具为我们做事,别累了自己为打磨工具发愁! 借助开源的技术,我们就可以专心在我们的应用上面了!
正 文:
我已经玩了很多种方法了! 包括
1. MSXML2.xmlHttpRequest, xmlServerRequest 1.0- 6.0 (VBA暂时没办法 onreadyStateChange触发事件,微软说的http://support.microsoft.com/kb/303322/zh-cn,测试了 VB还可以搞旁门方法实行,但VBA还不可以!)
2. webbrowser 控件
3. 调用 js
4. 调用 SWF( as3)
最后我选择这个方法的好处是:
1. 不占用 vba 资源,
2. 可以让系统调用多个CPU线程处理
3. 可以选择性适应 32位, 或 64位系统
4. 可以设定userAgent (ie 里的 js 里面可以,as3 不支持,Webbrowser不可以)
5. 已经帮我们把 gzip 网页 gunzip 了
6. 使用超级简单,功能超级全面,性能超级稳定!
为了不占用 VBA 进程,我访寻了多种调用的方法后,决定不用 ActiveX 控件!就是因为 VBA的限制!
也因为我开发的程序不能容易被破解,所以我选择了 Accde! 只能用 VBA 来运行!
我选了两个工具 来测试(这两个都是80年代黑客常用的工具之一),现在都是开源了十几年超高稳定性的运行器:
1. lynx 浏览器 http://lynx.isc.org/(70年代的 文本式浏览器,原来只有在Unix上军用的,后来被改成可以在60多个系统上运行,包括现在的Win7 64)
2. cURL http://curl.haxx.se/(是命令行的 url 执行器,也是很多系统里面内置的命令,就Windows没有,php也内置了这套代码)
最后我使用的是 cURL,真的简单!
curl --url pt.3g.qq.com --dump-header header.txt --cookie-jar cookie.txt
这样就把 某个网页
- 拿到你本机的out.txt 文件;
- 把包含cookie保存了在 cookie.txt;
- 把header 保存在 header.txt !
你们就自己开发 不同的应用好了! 除了 http 协议,还可以支持
DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer 续传, proxy tunneling (代理隧道)
说了那么多好处,当然要数一下他的不好了!就是因为他是命令行的,所以跟你的程序的交互,都需要用 文件来交互所以
1. 不需要同步,但交互慢;
2. 命令行,要中途终止的话,就非常复杂;(每次都要 processid = shell() 来记住线程编号)
所以,总结就是这方法非常适合,
- 少量网页交互的应用;
- VBA 次数少,但单独文件大的 上下传;(至少线程分离,你的 Access 死掉都可以在续传!)
一句VBA 把 图片拿下的方法就是
processId=Shell( "curl --url http://www.baidu.com/img/baidu_jgylogo3.gif --output tmp.gif")
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)