Vbscript 获得;“拒绝访问”;下载对象时
我正试图通过运行批处理脚本来下载svn客户端。为此,我使用了我从批处理文件调用的这段VBS。现在这段代码可以工作了,因为我已经成功下载了一些文件,但是当我尝试从sourceforge.net下载时,在Vbscript 获得;“拒绝访问”;下载对象时,vbscript,xmlhttprequest,Vbscript,Xmlhttprequest,我正试图通过运行批处理脚本来下载svn客户端。为此,我使用了我从批处理文件调用的这段VBS。现在这段代码可以工作了,因为我已经成功下载了一些文件,但是当我尝试从sourceforge.net下载时,在send()之后收到一条拒绝访问错误消息。任何关于这种情况发生的原因和可以避免的洞察都会有所帮助 Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") objXMLHTTP.open "GET", strFileURL, false objXMLHTTP.
send()
之后收到一条拒绝访问错误消息。任何关于这种情况发生的原因和可以避免的洞察都会有所帮助
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.send()
do until objXMLHTTP.Status = 200 : wscript.sleep(1000) : loop
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0 'Set the stream position to the start
Set objFSO = Createobject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing
objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if
Set objXMLHTTP = Nothing
您的访问被拒绝,因为您试图从重定向您的URL下载文件。如果你试图直接下载一个文件,你会发现你不会得到错误 你应该使用最新版本
Set objXMLHTTP= CreateObject("Msxml2.XMLHttp.6.0")
但是使用
Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
…现在还可以
如果要在IE中将sourceforge.com添加到受信任的站点,请进入IE选项->安全,选择受信任的站点进入自定义级别,将“跨域访问数据源”更改为启用,这将使您超越拒绝访问错误。到底哪一行引发了错误?确切的错误信息是什么,包括错误号?还要注意,
send
已经在等待请求完成,因为您将第三个参数设置为False
,因此不需要循环。更糟糕的是,如果请求返回除200以外的任何状态,它将变成一个无限循环。错误:访问被拒绝。代码:80070005来源:msxml3.dll正常。但我想它并没有进入无限循环,因为错误在那之前就出现了。行号为send()。好的!除了更改IE选项之外,没有其他方法可以从这样的链接下载文件吗?实际上,批处理将在不同的计算机上运行,我无权更改ie设置。您仍然可以使用VBScript,但可以使用wget.exe,然后执行wget.exe。或者,从SourceForge下载该文件,将其移动到本地web服务器,然后通过您已有的脚本直接下载。