用VBS下载文件

标签: , , ,

Google一下关键词“VBS 下载文件”出来也是一堆一样的,你复制我的,我复制你的,复制来复制去最后不知道是谁的。不过基本都是对的了,原理都一样,使用msxml2.xmlhttp和adodb.stream对象。至于他们所说的第二种方法,使用internet.application对象下载文件,我没有测试过,不知道效果怎么样。

Sub download(url,target)
	Const adTypeBinary = 1
	Const adSaveCreateOverWrite = 2
	Dim http,ado
	Set http = CreateObject("Msxml2.XMLHTTP")
	http.open "GET",url,False
	http.send
	Set ado = createobject("Adodb.Stream")
	ado.Type = adTypeBinary
	ado.Open
	ado.Write http.responseBody
	ado.SaveToFile target
	ado.Close
End Sub

download "http://demon.tw/foo.gif","foo.gif"

代码很简单,我就不多说什么了。我好奇的是他们说这段代码杀毒软件会报毒,我没有测试过不知道会不会报毒,但是这句话表明了他们的不良企图。呵呵,原来大家都喜欢编病毒啊。

随机文章:

  1. 用C语言实现凯撒密码算法
  2. VBS基础教程第四篇
  3. 爱因斯坦带来的悖论
  4. VBS打开选择文件对话框(Windows 7)
  5. 在64位系统中使用CAPICOM

10 条评论 发表在“用VBS下载文件”上

  1. tim说道:

    好厉害 学习了

  2. Ming Wai说道:

    存取被拒

  3. l4ever说道:

    没有返回值,不知道下载是否成功啊.

  4. Karter说道:

    你好,拜读了你博客的几乎所有文章——我也一直在用VBS做些东西,升级到64位系统后,就没办法用vbsedit了,你能给我些帮助吗?非常感谢!

  5. RawsonKwei说道:

    错误8007005 msxml3.dll拒绝访问,何故?

  6. fireflyoo说道:

    可以下http协议上的东东..但下不了https上的..

  7. fireflyoo说道:

    Sub download(url,target)
    Const adTypeBinary = 1
    Const adSaveCreateOverWrite = 2
    Dim http,ado
    Set http = CreateObject(“Msxml2.ServerXMLHTTP”)
    http.SetOption 2,13056 ‘忽略https错误
    http.open “GET”,url,False
    http.send
    Set ado = createobject(“Adodb.Stream”)
    ado.Type = adTypeBinary
    ado.Open
    ado.Write http.responseBody
    ado.SaveToFile target
    ado.Close
    End Sub
    Const Example=”https://smarthosts.googlecode.com/svn/trunk/hosts”
    download Example,”hosts”

  8. fireflyoo说道:

    求助狗狗大神后终于能下https上的东东了..
    试一下回复里能发代码不
    [code]
    MsgBox “Bingo!”
    [/code]

  9. T说道:

    你有一个变量没有使用,adSaveCreateOverWrite

留下回复