我正在尝试通过运行批处理脚本来下载svn客户端。为此我使用这个VBS,我从批处理文件中调用。现在这段代码有效,因为我已经成功下载了一些文件但是当我尝试从sourceforge.net下载this file时,我在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
答案 0 :(得分:2)
您正在尝试从重定向您的网址下载文件,因此您将获得拒绝访问权限。如果您尝试直接下载文件,则会发现您不会收到错误。
您应该使用最新版本..
Set objXMLHTTP= CreateObject("Msxml2.XMLHttp.6.0")
然而使用..
Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
..现在还可以。
如果您要将sourceforge.com添加到IE中的可信站点,请进入IE选项 - >安全性,选择可信站点进入自定义级别,将“跨域访问数据源”更改为“启用”,应该让你超越了Access Denied错误。