1
我試圖使用需要驗證的VBScript下載ZIP文件。如果您訪問該網站,您會注意到它會彈出一個身份驗證提示。我遇到的問題是這個腳本運行後,ZIP文件太小了,它應該是什麼,並已損壞,所以我無法打開它。在網站上下載需要使用VBScript驗證的zip文件
我的想法是下載不起作用。
有人看到我在做什麼錯了嗎?
strHDLocation = "C:\Test\file1.zip"
Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
xmlHttp.Open "GET", "http:downloadsite/report-id=123456", False, "myidhere", "mypwhere"
xmlHttp.Send()
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary
objADOStream.Write xmlHttp.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
在處理'xmlHttp.ResponseBody'之前檢查'xmlHttp.ReadyState = 4'。同時檢查'xmlHttp.Status'以確保你得到一個'200'的HTTP響應。 – Lankymart
所以我應該循環,直到它的值爲4?我以爲發送被阻止?我做到了,在Send()之後它是4,但仍然是同樣的問題。 – user441521
你將它設置爲不是異步,所以應該阻止,但可能發生的事情我總是發現最好檢查,無論它是否是異步。這很可能是服務器返回一個錯誤,雖然這就是爲什麼我建議檢查'xmlHttp.Status'。 – Lankymart