Я использую следующий vbscript для автоматизации загрузки приложения с моего сайта:
HTTPDownload "bleh.com/hello.exe", "C:\"
HTTPDownload "bleh.com/hello1.dll", "C:\"
HTTPDownload "bleh.com/hello2.dll", "C:\"
HTTPDownload "bleh.com/hello3.dll", "C:\"
Sub HTTPDownload( myURL, myPath )
Dim i, objFile, objFSO, objHTTP, strFile, strMsg
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
If objFSO.FolderExists( myPath ) Then
strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) )
ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then
strFile = myPath
Else
Exit Sub
End If
Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True )
Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
objHTTP.Open "GET", myURL, False
objHTTP.Send
For i = 1 To LenB( objHTTP.ResponseBody )
objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )
Next
objFile.Close( )
End Sub
Странно, когда я запускаю скрипт, 2/4 файла загружаются полностью. Один из других файлов имеет размер всего 2 КБ (должен быть заполнен примерно на 180 КБ), а другой - 0 КБ (200 КБ заполнен).
Я дважды проверил на ftp-сервере, файлы, хранящиеся на них, заполнены на 100%, и загрузка их вручную через браузер работает нормально.
Почему мой скрипт не может полностью загрузить все четыре файла?
stream.SaveToFile path, 2
(см. здесь а>). 21.11.2013