下载对象时获取“拒绝访问”

时间:2014-02-12 14:27:24

标签: vbscript xmlhttprequest

我正在尝试通过运行批处理脚本来下载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

1 个答案:

答案 0 :(得分:2)

您正在尝试从重定向您的网址下载文件,因此您将获得拒绝访问权限。如果您尝试直接下载文件,则会发现您不会收到错误。

您应该使用最新版本..

Set objXMLHTTP= CreateObject("Msxml2.XMLHttp.6.0")

然而使用..

Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")

..现在还可以。

如果您要将sourceforge.com添加到IE中的可信站点,请进入IE选项 - >安全性,选择可信站点进入自定义级别,将“跨域访问数据源”更改为“启用”,应该让你超越了Access Denied错误。