Страницы: 1
RSS
Кэш при скачивании файла через DownloadFile
 
Здравствуйте
Скачиваю файлы следующим способом: http://excelvba.ru/code/DownloadFile
Похоже файлы кэшируются и при ежедневном запуске макроса у некоторых файлов последняя дата создания и изменения висит по 2-3 недели без изменений, т.е. актуальный файл скачать не получается. Подскажите, пожалуйста, как это можно исправить?
Сейчас макрос выглядит так: http://prntscr.com/jr2pxr
Пробовал добавлять в него строчки заголовков, но не помогает
 
А на Excelvba у разработчика (Игоря) спросить - не вариант?
 
Вариант, но там последнее сообщение от 25 Дек 2017 без ответа висит без ответа. Подумал, здесь ответ найду быстрее, чем там, т.к. наверняка случай распространенный. Предполагаю, нужно добавить какой то заголовок, но какой?
 
После Open и перед Send добавьте:
Код
XMLHTTP.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий Щербаков, так эта строчка уже есть в коде: https://prnt.sc/jr2pxr - не помогает
Файл, который нужно скачивать, может обновляться ежедневно, т.е. кэш категорически нельзя использовать для него даже на 5 минут
 
Цитата
dxn написал:
эта строчка уже есть в коде
я картинку не смотрел, если честно. Зачем выкладывать картинки кодов, если на форуме есть возможность приложить сам код? Чтобы помогающим было еще сложнее Вам помочь? :)
Для начала посоветовал бы пройтись по коду, отключив игнор ошибок(On Error Resume Next убрать). Если ошибок нет - убрать другие строки заголовков и заставить обновлять кэш если он старше 0 секунд(или 1, не столь важно)
Код
XMLHTTP.setRequestHeader "Cache-Control", "max-age=0"

плюс можно попробовать сделать кэширование частным
Код
XMLHTTP.setRequestHeader "cache-control", "private"
Изменено: Дмитрий Щербаков - 06.06.2018 11:23:27
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий Щербаков, потому что я работаю с файлом через тимвивер, т.к. у меня мак, и скопировать код возможности нет)
Попробую Ваши советы, спасибо
 
Дмитрий Щербаков, сбросил кэш в ИЕ, добавил Ваши строчки, вроде работает, но не уверен, нужно потестировать пару дней (макрос скачивает около 40 файлов подряд, может что еще вылезет при таком количестве)
Спасибо еще раз)
 
Дмитрий Щербаков, вроде как все работает, спасибо!
Страницы: 1
Наверх