函数参考


InetGet

通过HTTP,HTTPS或FTP协议从互联网上下载指定文件.

InetGet ( "URL" [, "文件名" [, 选项 [, 是否后台]]] )

参数

URL 要下载文件的 URL(地址). 参考注意事项.
文件名 [可选参数] 下载到本地的文件路径.
选项 [可选参数] 0 = (默认)如有可能则从本地缓存中获得文件.
1 = 强制性地要求脚本从远程站点重新下载文件.
2 = 忽略所有 SSL 错误(使用 HTTPS 连接时).
4 = 使用FTP协议传输文件时,使用 ASCII 方式传输文件(不能和标志 8 一起使用).
8 = 使用FTP协议传输文件时,使用 二进制 方式传输文件(不能和标志 4 一起使用). 如果未使用过或者上次未指定,则二进制方式为默认传输方式.
16 = 跳过强制网络连接开始连接 (参考说明).
是否后台 [可选参数] 0 = (默认)等待下载完成之后才继续执行后面的语句.
1 = 立即返回并在后台完成下载 (参考注意事项).

返回值

成功: 返回值取决于是否使用后台下载:
后台下载: 返回一个控制句柄. 这个句柄可以用于 InetGetInfo(). 这个句柄必须使用 InetClose() 关闭.
等待下载: 所下载的字节数.
失败: 后台下载: 返回一个句柄. 如果出现下载错误,请使用 InetGetInfo() 得到信息. 这个句柄必须使用 InetClose() 关闭.
等待下载: 设置 @error 为非0,并返回 0.

注意/说明

为保证此函数的正常工作必须安装 Internet Explorer 5 或更高版本.

URL 参数是指类似"http://www.somesite.com/path/file.html"这样的形式,这和我们在网页浏览器中输入的地址是一样的格式.

如果连接时需要指定用户名及密码,只要在主机名前加以下前缀即可:"用户名:密码@"(都是英文字符),比如
"http://myuser:mypassword@www.somesite.com"

关于 "后台" 参数说明

默认情况下,函数会等待下载完成后才继续执行. 如果 是否后台 参数设置为 1 ,函数会立即返回并继续执行脚本,下载将会在后台继续. 函数 InetGetInfo() 可以用来检查下载状态. 它需要使用由 InetGet()返回的句柄.

后台下载模式支持多文件同时下载.

要终止下载,请调用 InetClose() 并传递一个由 InetGet() 返回的下载句柄.

默认 AutoIt 强制一个连接然后开始下载. 如果是拨号用户将提示上线或者连接ADSL等(取决于什么系统设置). 选项 16 将关闭这个提示. 关闭提示对固定连接非常有用(宽带(指光纤一类), LAN(局域网)). 尽管如此, 它可能在 Windows Vista 和 Windows 7/2008中不可用.

相关

InetGetSize, InetRead, InetGetInfo, InetClose, HttpSetProxy, FtpSetProxy, HttpSetUserAgent

示例/演示


InetGet("http://www.mozilla.org", @TempDir & "\mozilla.html")
InetGet("http://www.autoitscript.com", @TempDir & "autoitscript.html", 1)
InetGet("ftp://ftp.mozilla.org/pub/mozilla.org/README", @TempDir & "\Mozilla-README.txt", 1)

; 高级例子 - 使用后台下载
Local $hDownload = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", @TempDir & "\update.dat", 1, 1)
Do
    Sleep(250)
Until InetGetInfo($hDownload, 2)    ; 检查下载是否完成.
Local $nBytes = InetGetInfo($hDownload, 0)
InetClose($hDownload)   ; 关闭句柄,释放资源.
MsgBox(4096, "", "字节读取: " & $nBytes)