HandyCache форум

Главная категория => Общие вопросы => Тема начата: Villi от 19 января 2010, 19:15:02



Название: Файлы #m в кэше
Отправлено: Villi от 19 января 2010, 19:15:02
Я зашел в каталог страницы, где смотрел картинки, картинки сохранились с расширением .jpg#m, я переименовал в jpg, и не удается прочитать этот файл.
Почему?


Название: Re: Файлы #m в кэше
Отправлено: DenZzz от 19 января 2010, 22:35:02
картинки сохранились с расширением .jpg#m, я переименовал в jpg, и не удается прочитать этот файл.
Почему?

Ты бы заглянул сначала в эти файлы! Там нет картинок, в файлы #m сохраняются заголовки переадресации с сервера, а сами картинки вероятно сохранены по их настоящим путям, которые были указаны в заголовках Location.



Название: Re: Файлы #m в кэше
Отправлено: divinets от 22 февраля 2010, 13:46:54
А как можно настроить правила для несохранения этих перенаправлений (т.е. файлов m#)?


Название: Re: Файлы #m в кэше
Отправлено: DenZzz от 23 февраля 2010, 02:36:11
А как можно настроить правила для несохранения этих перенаправлений (т.е. файлов m#)?

Напиши расширение: если ответ "301" или "302", то действие "dont_save".


Название: Re: Файлы #m в кэше
Отправлено: divinets от 28 февраля 2010, 15:57:15
Написал расширение eA_Dont_save_301-302.lua
Не помогает. Может где ошибка? Как проверить?

--[[ <HCEXTENSION>
@name            Don't save 301 and 302
@author          Divinets
@version         0.01
@min_HC_version  1.0.0.193
@description     Блокирует сохранение ответов 301 и 302
@event           AnswerHeaderReceived/answer
</HCEXTENSION> ]]

function GetAnswerCode(s)
  _,_,x = string.find(s, 'HTTP/1%.%d +(%d+)')
  if x==nil then return -1 else return tonumber(x) end
end


function Answer()

 -- выясняем код ответа из заголовка
  answ_code = GetAnswerCode(hc.answer_header)

 -- если код ответа 301
  if answ_code==301 then
     hc.action = 'dont_save'
     hc.monitor_string = hc.monitor_string..'A-301ns '
     hc.answer_header,_ = string.gsub(hc.answer_header, '^HTTP/1%.%d +301', 'HTTP/1.1 200', 1)
  end

 -- если код ответа 302
   if answ_code==302 then
     hc.action = 'dont_save'
     hc.monitor_string = hc.monitor_string..'A-302ns '
     hc.answer_header,_ = string.gsub(hc.answer_header, '^HTTP/1%.%d +302', 'HTTP/1.1 200', 1)
  end

end  -- Конец функции Answer


Название: Re: Файлы #m в кэше
Отправлено: DenZzz от 28 февраля 2010, 19:48:14
Написал расширение eA_Dont_save_301-302.lua
Не помогает. Может где ошибка? Как проверить?

Ошибка в одной букве в строке:
@event           AnswerHeaderReceived/answer

Регистр имеет значение!