Ru-Board.club
← Вернуться в раздел «Программы»

» HandyCache - локальный кеширующий прокси сервер

Автор: unreal666
Дата сообщения: 06.03.2006 16:28
faZZ
А еще точнее .*\.gif$
А правило вида http://.*\.gif вообще не будет работать, т.к. HC при сравнении отбрасывает http:// .
Автор: faZZ
Дата сообщения: 06.03.2006 17:09
unreal666
а зачем в конце $?
Автор: C0USIN
Дата сообщения: 06.03.2006 17:27
faZZ

Цитата:
а зачем в конце $?

Чтобы указать, что URL заканчивается на .gif

Пора уже закинуть в FAQ внятное описание регулярных выражений и как их применять в HC.

Добавлено:
mai62

Цитата:
Файл site.com\index.shtm будет переименован в site.com\index.shtm#_

Что-то я не заметил этого в коде

У меня такое предложение: к именам папок всегда добавлять окончание #
Так мы исключим конфликты одноименных файлов и папок. Программа упростится. Не придется отслеживать такие ситуации. Следовательно увеличится производительность.
Автор: unreal666
Дата сообщения: 06.03.2006 18:58
C0USIN

Цитата:
У меня такое предложение: к именам папок всегда добавлять окончание #

Угу. Файлы пускай лучше остаются с нормальным расширением, а имена папок можно менять.
Автор: V0lt
Дата сообщения: 06.03.2006 19:10
C0USIN

Цитата:
У меня такое предложение: к именам папок всегда добавлять окончание #

Мне не нравиться. В некоторых случаях длина пути намного длиннее будет, а ее и так не всегда хватает.
Я в свое время предлагал следующее:

Код: преобразуем урл в path+file
переходим в нужный каталог (path)
если каких-либо папок нет создаем их
если папку создать нельзя (совпадает с одноименным файлом),
то переименовываем этот файлы (name=name+"#_")

Если имя файла пусто, либо существует одноименная папка
то пишем файл file+"#_",
иначе пишем файл name
удаляем файл file+"#m"
Автор: DenZzz
Дата сообщения: 06.03.2006 19:15
mai62

Цитата:
1. Использование вложенных скобок в правиле не является причиной неоднократного появления 7.1 в колонке Правила.

Однако ж, в такой редакции правила: img[0-9]+\.(exs\.cx|echo\.cx|imageshack\.us) повторы в мониторе перестали появляться!
А в прежней редакции: img[0-9]+\.((exs|echo)\.cx|imageshack\.us) повторы были постоянны для сайтов exs.cx и echo.cx ...
Напрашивается вывод, что дело было во внутренних скобках (exs|echo)...
Автор: unreal666
Дата сообщения: 06.03.2006 19:25
DenZzz
У меня и без внутренних скобок иногда дубли появляются.
А там где без внутренних скобок нет дублей, то и со скобками тоже без дублей показывает.
Автор: DenZzz
Дата сообщения: 06.03.2006 19:37
unreal666

Цитата:
А еще точнее .*\.gif$

А еще точнее: .*\.gif([^a-z0-9].*|$)
чтобы отлавливать URL-ы типа: _http://www.drweb.com/pix/hp_title_upper_right_ru.gif?lng=ru&775 , которые встречаются довольно часто...
Автор: cluster
Дата сообщения: 06.03.2006 19:55
mai62

Цитата:
возможно браузер не получает от НС ответ что такого файла "нет"?
Попробуй снять все запреты и браузер будет доволен.
Ни один запрос без ответа не остается.

Какие ещё запреты? Где снять? У меня бывает такой же глюк, но он меня неособо напрягал. А больше напрягает зацикливание.
Кстати, вроде бы обнаружил причину этих зацикливаний. Кажется это из-за дополнительных фильтров в Макстоне, которые я сам добавлял. Удалил фильтры из Макстона для одного сайта и добавил их в чёрный список НС. Потестил - вроде нормально.

А почему у меня пропал заголовок НС на страницах, типа "такая-то страница не найдена в кеше"? Отображается стандартный IE-шный

Код: Невозможно найти страницу
HTTP 404 - Файл не найден
Internet Explorer
Автор: C0USIN
Дата сообщения: 06.03.2006 20:46
V0lt

Цитата:
В некоторых случаях длина пути намного длиннее будет, а ее и так не всегда хватает.
Согласен. Тогда можно переименовать файл.

unreal666

Цитата:
Файлы пускай лучше остаются с нормальным расширением

Можно добавлять #_ в начало имени файла, тогда расширение не пострадает.

Это детали, а основная мысль в том, чтобы добавлять префикс к всем файлам. Без всяких ЕСЛИ. Функция URL2File должна работать независимо от содержимого папки кэша.
Автор: rubel
Дата сообщения: 07.03.2006 07:30
C0USIN

Цитата:
Пора уже закинуть в FAQ внятное описание регулярных выражений и как их применять в HC.

Полностью согласен с тобой.Это нужно сделать и конечно с примерами.
Проверкой в тренажере.
Здесь, IMHO,хорошо знают regexp'ы всего несколько человек
C0USIN DenZzz unreal666 ..?
Напишите плиз в FAQ,мы все будем вам благодарны!
Автор: unreal666
Дата сообщения: 07.03.2006 08:40
rubel

Цитата:
Напишите плиз в FAQ,мы все будем вам благодарны!

Дофига писать. Да я и сам пока не заню как это сформулирвоать на русском языке, т.к. основные данные читал на анг. странице. Как переведу на русский, так закину.
Автор: rubel
Дата сообщения: 07.03.2006 08:49
unreal666

Цитата:
Как переведу на русский, так закину.

Ждем'с.
Автор: C0USIN
Дата сообщения: 07.03.2006 09:12
Вот неплохое описание на русском. Применительно к JavaScript.
http://program.rin.ru/razdel/html/111.html
Автор: DenZzz
Дата сообщения: 07.03.2006 09:30
Вот еще неполохая статья про RegExp-ы "для начинающих" (на русском):
http://www.providerz.ru/articles/php/regexp-intro.html

Может, просто закинем прямые ссылки в FAQ?
Описание тонкостей синтаксиса RegExp занимает главы в книгах...
Автор: unreal666
Дата сообщения: 07.03.2006 09:34
Еще плохо давать описание на этом форуме, то что нельзя применять HTML-теги. А без них как-то неудобно давать описание в визуабельном виде.
Автор: ALeXkRU
Дата сообщения: 07.03.2006 10:39
вот - положил довольно простое и понятное изложение как пользоваться RegExp - на русском

Добавлено:
unreal666
а коды не помогают? вроде, ими можно сделать всё то же самое
Автор: rubel
Дата сообщения: 07.03.2006 11:23
Просмотрел все что вы привели выше,довольно сложно
Как-нибудь по-проще и с примерами.
И как проверить правило в тренажере,что должно отображаться в правом окне.
У меня иногда отображается одна строка,а иногда несколько.
DenZzz

Цитата:
Описание тонкостей синтаксиса RegExp занимает главы в книгах...

А нам все и не надо.
IMHO,правила для списков,а про переадресацию можно задавть каждый раз конкретный
вопрос.
Автор: VideoHEAD
Дата сообщения: 07.03.2006 11:24
Еще было бы здорово, если бы гуру выложили свои сборки (без кеша ессно).

Интернет один - все не хотят видеть рекламу и sid-ы...
Автор: C0USIN
Дата сообщения: 07.03.2006 12:39

Цитата:
Может, просто закинем прямые ссылки в FAQ?

Не надо. В каждой программе регулярные выражения немного отличаются.
Лучше состряпать очень краткое описание применительно к HC
Автор: dadu
Дата сообщения: 07.03.2006 13:35
C0USIN
Именно, без упоминания Перл и других "лишних" звуков.
Даешь, "Инструкция по рег-эксп заточенная под использование в НС".

+1

Автор: DenZzz
Дата сообщения: 07.03.2006 14:46
rubel

Цитата:
И как проверить правило в тренажере,что должно отображаться в правом окне.
У меня иногда отображается одна строка,а иногда несколько.

Правило сработало, если после нажатия "Применить" в правом окне хоть что-то появилось.



Номер подвыражения: 0 - общее, 1 - подвыражение в 1-ых скобках, 2 - во 2-ых скобках и т.д.
Номер позиции - номер символа, с которого начинается найденное подвыражение (0 - не найдено).
Значение подвыражения - то, что было найдено в URL-е с помощью подвыражения.

Важно помнить при проверке правил: лидирующие http:// и http://www. перед проверкой правил из URL удаляются.
Автор: unreal666
Дата сообщения: 07.03.2006 15:42
DenZzz

Цитата:
Важно помнить при проверке правил: лидирующие http:// и http://www. перед проверкой правил из URL удаляются.

В новых версиях HC это без разницы. Правило в тренажере срабатывает даже, если совпала только часть ссылки.
Автор: DenZzz
Дата сообщения: 07.03.2006 16:40
unreal666

Цитата:
Правило в тренажере срабатывает даже, если совпала только часть ссылки.

Ты не прав! Я не о наличии в начале и конце правила .*

Проверь работу вот этого в Списке (и в Тренажере):
надо внести в Черный список сайт: http://www.site.ru/ ,
то правило должно выглядеть так: ^site\.ru/.* ,
но НЕ так: ^www\.site\.ru/.* и НЕ так: .*\.site\.ru/.* и НЕ так: www\.site\.ru/ и НЕ так: \.site\.ru/ )

Я на этом раз уже накололся...
Автор: unreal666
Дата сообщения: 07.03.2006 16:46
DenZzz
В списках - да. А в тренажере - без разницы.
Автор: DenZzz
Дата сообщения: 07.03.2006 16:54
mai62

Кстати, я раз уже поднимал вопрос о неточной обработке URL-ов в Тренажере.
Я считаю, что проверяемый URL в Тренажере должен обратываться точно также, как и в Списках, т.е. надо автоматически отбрасывать лидирующие http:// и http://www. , иначе не все знают, что URL в Тренажер надо писать "очищенным" от этих вещей...

Например, можно сделать это переключателем в Тренажере:
"Проверять для списков № 1-5", "Проверять для Списка № 6 (как текст в PHP)" и т.п.



unreal666

Цитата:
В списках - да. А в тренажере - без разницы.

Вот и я о том же! В Тренажере все работает, а в Списках - НЕТ. Зачем нужен такой Тренажер? Чтобы писать в Списки "мертвые" правила?
Автор: unreal666
Дата сообщения: 07.03.2006 17:16
DenZzz

Цитата:
Вот и я о том же! В Тренажере все работает, а в Списках - НЕТ. Зачем нужен такой Тренажер? Чтобы писать в Списки "мертвые" правила?

Этот тренажер универсальный. Он используется для проверки регеспов, вне зависимости - URL это или фанарный текст. Потому там и и есть возможность для ввода в качестве тестируемого текста - ЛЮБОГО текста, даже многострочного.
Мне этот тренажер помогает в проверке регеспов для PHP.

Добавлено:
А для проверки списков нужно сделать в HC в каждом списке кнопку ТЕСТ с полем ввода тестируемого URL, как это сделано в Offline Explorer в "Замена адресов...".
Кстати такое уже предлагалось реализовать, но почему пока молчок.
Автор: DenZzz
Дата сообщения: 07.03.2006 17:51
unreal666

Цитата:
А для проверки списков нужно сделать в HC в каждом списке кнопку ТЕСТ с полем ввода тестируемого URL, как это сделано в Offline Explorer в "Замена адресов...".
Кстати такое уже предлагалось реализовать, но почему пока молчок.

Было бы неплохо... А пока можно в Тренажере сделать переключатель:
"Проверять для списков № 1-5", "Проверять для PHP и Списка № 6" и т.д.
Автор: unreal666
Дата сообщения: 07.03.2006 18:03
DenZzz

Цитата:
А пока можно в Тренажере сделать переключатель:
"Проверять для списков № 1-5", "Проверять для PHP и Списка № 6" и т.д.

Тренажер во всех программах (где они есть) используются для проверки правила вне засимости от входного текста. А списка как раз и являются входным текстом для HC.
Для ограничения тренажера нужно в нем сделать галку для проверки в начале правила на присутствие http:// (чтобы было опционально).
Автор: V0lt
Дата сообщения: 07.03.2006 18:41
C0USIN

Цитата:
Это детали, а основная мысль в том, чтобы добавлять префикс к всем файлам. Без всяких ЕСЛИ. Функция URL2File должна работать независимо от содержимого папки кэша.

Она так и будет работать. Пример:

URL2File(URL:string, URLtype:byte):string
{
Преобразуем символы;
if URLtype=Redirect
then Result:=Result+'#m';
if Result[Length(Result)]='\'
then Result :=Result+'#_';
}

--------------------
Функция записи (условно, без создания папок)
{
filename:=URL2File(URL);
if (createfile(filename)<>OK) and (direxist(filename)=OK)
then
{
filename:=filename+'#_'
if (createfile(filename)<>OK) then exit;
}
WriteFile(filename);
}

----------------
Функция чтения (условно)
filename:=URL2File(URL);
if (openfile(filename)<>OK)
then
{
filename:=filename+'#_'
if (openfile(filename)<>OK) then exit;
}
ReadFile(filename);
}

Т.е. сама функция URL2File в кеше не лазит

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: грабилка экрана под OpenGL


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.