Использование макрокоманд URL (URL Macros)

Offline Explorer Pro и Enterprise поддерживают макрокоманды URL. Макрокоманды полезны для планирования автоматический загрузки в случаях, когда URL постоянно меняется.

Например, сайт новостей о погоде имеет изображение, которое ежедневно меняется. URL этого изображения содержит в себе номер дня месяца. Таким образом,

http://www.weather.com/image5.png соответствует пятому дню текущего месяца, в то время как

http://www.weather.com/image12.png соответствует двенадцатому дню текущего месяца.

В этом случае поможет следующая макрокоманда URL:

http://www.weather.com/image{:day}.png

Когда Offline Explorer начинает загрузку Проекта, то макрокоманды меняют эти значения. Макрокоманда должна начинаться с символа {: и заканчиваться символом }

Поддерживаются следующие макрокоманды:

{:day} текущий день (1 - 31)

{:0day} текущий день, включающий при необходимости начальный нуль (01 - 31)

{:shortday} день как сокращённое название (Sun-Sat)

{:longday} день как полное его название (Sunday-Saturday)

{:month} текущий месяц как число без начального нуля (1-12)

{:0month} месяц как число с начальным нулём (01-12)

{:shortmonth} месяц как сокращённое название (Jan-Dec)

{:longmonth} месяц как полное его название (January-December)

{:year} текущий год как число из двух цифр (00-99)

{:longyear} год как четырёхзначное число (0000-9999)

{:week} текущий номер недели без начального нуля (1-51)

{:0week} номер недели с начальным нулём (00-51)

{:hour} текущий час без начального нуля (0-23)

{:0hour} час с начальным нулём (00-23)

{:minute} текущая минута без начального нуля (0-59)

{:0minute} минута с начальным нулём (00-59)

{:second} секунда, в которую стартует загрузка, без начального нуля (0-59)

{:0second} секунда с начальным нулём (00-59)

{:5..12} это специальная макрокоманда, которая загрузит URL с числами от 5 до 12. Вы можете также использовать начальный нуль в первом номере.

{:0..100|25} разделитель | определяет шаг перечисления. В этом примере будут сгенерированы числа 0, 25, 50, 75, 100.

{:a..z} загрузка URL с символами от a до z. Вы можете здесь использовать одиночные буквы от A до Z и a до z.

{:roman:XIX..XXX} загрузка URL с римскими цифрами от XIX (19) до XXX (30). Вы можете также использовать здесь и меньшие числа. Вы можете ввести здесь и обычные числа, которые будут преобразованы в римские - {:roman:19..30}.

{:Value1,Value2,…,ValueN} Эта макрокоманда загрузит URL со значениями из разделённого запятыми списка. Например, Вы можете использовать это для перечисления государств - {:AL,WA,CA,IL}

{:file=c:\values.txt} Эта макрокоманда заменит значения на загруженные из указанного текстового файла. Одно значение в отдельной строке. Если текстовый файл содержит макрокоманды URL, то они будут проигнорированы.

{:FileURLEncode=c:\post.txt} Аналогично предыдущему, но текст будет в форме закодированных URL (URL-encoded символы). Используется для POST-запросов. Например, пробелы в текстовом файле будут заменены на + и так далее.

{:setdate=...} Это специальная макрокоманда, которая позволит Вам изменять дату и время, используемые в вышеприведённых макрокомандах.

Например, если Вы хотите загрузить изображение, которое создано вчера, то Вы можете определить следующий URL:

http://www.weather.com/{:setdate=date-1}image{:day}.png

Вышеприведённый URL будет использовать вчерашнюю дату {:day} для макрокоманды. Аналогично Вы можете установить и завтрашнюю дату:

http://www.weather.com/{:setdate=date+1}image{:day}.png

Вы можете установить любое число дней для изменения текущей даты. Точно так же Вы можете изменять месяцы:

http://www.weather.com/{:setdate=date-5M}image{:day}.png

Для изменения текущего времени используйте формат {:setdate=time+17} или {:setdate=time-80}, где цифра определяет минуты.

{:julian} Вставляет цифру дня по юлианскому календарю. Юлианская дата (аббревиатура JD) - простой непрерывный счётчик дней и частей с полудня Всемирного времени от 1 января 4713 г. до н.э. (по юлианскому календарю). Эта макрокоманда полезна, если в URL используется непрерывный счётчик, увеличивающийся каждый день. Вы можете использовать формы макрокоманд {:julian+1000} или {:julian-500} для смещения конечного номера.

{:JavaScriptTime} вставляет текущие дату/время как число в формате JavaScript функции getTime().

Для изменения стандартных названий месяцев Вы можете использовать следующие макрокоманды:

{:#longmonths:January,February,...,November,December} и {:#shortmonths:J,F,M,A,M,J,J,A,S,O,N,D}. Это особенно хорошо, если Вы загружаете сайты, использующие названия месяцев на другом языке или стандартные названия месяцев Вашей системы отличаются от применяющихся на сайте.

Если изменяется дата или частота повторения в URL, то поможет следующая макрокоманда:

http://www.srv.com/dir{:5..7#1}/file{:#1}.htm

Которая генерирует три URL:

http://www.srv.com/dir5/file5.htm

http://www.srv.com/dir6/file6.htm

http://www.srv.com/dir7/file7.htm

Более сложный формат позволяет Вам увеличивать или уменьшать и второе значение: http://www.srv.com/dir{:5..7#1}/file{:#1+10}.htm

http://www.srv.com/dir5/file15.htm

http://www.srv.com/dir6/file16.htm

http://www.srv.com/dir7/file17.htm

Вы также можете использовать ...{:#1-10}...

Вы можете использовать макрокоманды URL в POST-запросах, AutoExport= и других строках - каждая строка в поле URL, содержащая макрокоманду URL, будет обработана. Дополнительно для автоэкспорта могут быть полезны следующие макрокоманды:

{:MapFile} вставляет полный путь к файлу Карты Проекта (.map) со списком всех файлов, загруженных Проектом.

{:IID} вставляет ID-номер (идентификационный номер) Проекта.

{:DD} вставляет полный путь к каталогу загрузки, в котором Проект сохраняет загружаемые файлы.

{:ProjectName} вставляет имя проекта. Может быть полезен в макросах, которые вызывают исполняемые файлы и передают параметры командной строки для них.

Макрокоманды URL могут также использоваться в фильтрах URL (ключевые слова списков Маски исключения/Маски включения в разделах Сервер, Каталог и Имя файла) и в замене адресов URL.

Поддержка URL Macros в Фильтрах URL позволяет Вам создавать универсальные шаблоны для некоторых web-сайтов. Для этого предназначен новый набор макрокоманд:

{:server} вставляет имя начального сервера из поля URL. Например, www.site.com

{:domain} вставляет домен сервера из поля URL. Например, если URL http://www.site.com, его домен будет site.com

{:dir} вставляет название начального каталога из поля URL. Например, /directory/sub/

{:filename} вставляет имя начального файла из поля URL. Например, file.asp?param

Переменные

Вы можете определить свои собственные переменные:

{:myserv=metaproducts}

http://www.{:myserv}.com/

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

Если у Вас в поле URL есть несколько адресов, то Offline Explorer Pro создаст несколько ключевых слов в Фильтрах URL – по одному в каждом из указанных URL.