Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   При скачивании файл тянется с кэша. (http://forum.oszone.net/showthread.php?t=256570)

takemegently 18-03-2013 14:53 2113623

При скачивании файл тянется с кэша.
 
Доброго дня.

При выполнении скрипта, для скачивания файла по ссылке:

Код:

SAVEFILE "http://****/1.crl", "AC", "certutil -split c:\1.crl", objExec32, "1.txt"
Sub SAVEFILE(URL1, Base_Name, Command, OBJ1, TXT)
strFileURL = URL1
URL = Split(StrReverse(strFileURL), "/")
basename = Base_Name & StrReverse(URL(0))

strHDLocation = "C:\" & basename
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.send()

 
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
Set objShell = CreateObject("WScript.Shell")
strCommand1 = Command

Set OBJ1 = objShell.Exec(strCommand1)
While objExec1.Status = 0
        WScript.Sleep 300
Wend
strOutput = Replace(OBJ1.StdOut.ReadAll, VbCrLf & "CertUtil: -split command completed successfully.", "")
 
With WScript.CreateObject("Scripting.FileSystemObject").CreateTextFile(TXT, True)
    .Write strOutput
    .Close
End With

End Sub

Возникает проблема, заключающаяся в том, что если по текущей ссылке уже находится обновленный файл с тем же именем, то невозможно его стянуть. Появляется лишь старый файл, как будто он выдергивается из кэша.
Будьте добры, помогите победить.

apozlevich 20-03-2013 10:57 2114844

Скрипт просто скачивает файл? Попробуйте просто wget'ом, у него есть ключ --no-cache и много разных плюшек.

Iska 21-03-2013 08:38 2115395

Цитата:

Цитата takemegently
Возникает проблема, заключающаяся в том, что если по текущей ссылке уже находится обновленный файл с тем же именем, то невозможно его стянуть. Появляется лишь старый файл, как будто он выдергивается из кэша. »

takemegently, так и есть: XMLHttpRequest — 6.1 Проблема с кешированием в Microsoft Internet Explorer.

Цитата:

Цитата takemegently
Будьте добры, помогите победить. »

Например, попробуйте приложить заголовок:
Код:

Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.setRequestHeader "If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 UTC"
objXMLHTTP.send()



Время: 19:43.

Время: 19:43.
© OSzone.net 2001-