我需要一个可以在新安装的 windows xp+ 上运行并从 Internet 下载指定文件的脚本,例如http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi 是否容易在不手工制作 HTTP/FTP 请求或使用 wget 等第三方程序的情况下如何做到这一点?我可以建议 WScript.CreateObject("internetexplorer.application") 发挥作用,但它的文档非常庞大,谷歌一如既往地保持沉默:)。
我需要一个可以在新安装的 windows xp+ 上运行并从 Internet 下载指定文件的脚本,例如http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi 是否容易在不手工制作 HTTP/FTP 请求或使用 wget 等第三方程序的情况下如何做到这一点?我可以建议 WScript.CreateObject("internetexplorer.application") 发挥作用,但它的文档非常庞大,谷歌一如既往地保持沉默:)。
刚刚发现这个贴在下面。您可以使用 cscript 运行它并安排它。
在做这样的事情时,VBScript 很烦人。这种事情总是需要不正式成为脚本引擎一部分的 COM 服务器。
Maxwell 关于使用 MSXML2.XMLHTTP 的建议似乎是一个很酷的方法。我必须承认我以前没有遇到过这个把戏。还有各种商业 COM 服务器可以进行文件下载。
这类问题是我正在考虑将大部分 VBScript 转移到 Powershell 的原因之一。因为 Powershell 可以无缝使用 .Net 对象,所以做这样的事情要容易得多。
JR
使用方法
更优雅,不幸的是不是很便携,因为对象的版本在 Windows 的版本和更新中变化很大。
使用
可能更好但不那么优雅。
MSXML2.XMLHTTP 是围绕旧的 WinInet 构建的。有一个更新的接口称为 Msxml2.ServerXMLHTTP,它更可靠。它建立在较新的 MS WinHTTP 堆栈之上。我建议直接调用 WinHTTP。
只需使用 CreateObject("WinHttp.WinHttpRequest.5.1") 而不是创建 MSXML2.XMLHTTP 对象。其余代码保持不变。