<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Функция для кодирования URL]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Функция для кодирования URL форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 31 Jul 2026 12:06:14 -0400</pubDate>
		<item>
			<title>Функция для кодирования URL</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425296">Функция для кодирования URL</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Похоже, что версия v6 до сих пор является долгосрочной поддерживаемой (LTS), так что неудивительно, почему люди продолжают изобретать велосипед при использовании RouterOS? <br />
			<i>30.07.2024 23:22:00, Apachez.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425296</link>
			<guid>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425296</guid>
			<pubDate>Tue, 30 Jul 2024 23:22:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Функция для кодирования URL</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425295">Функция для кодирования URL</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Некоторые пользователи написали кучу скриптов для кодирования и декодирования символов, и Mikrotik добавил несколько команд в версии v7... <br />
			<i>26.07.2024 15:00:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425295</link>
			<guid>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425295</guid>
			<pubDate>Fri, 26 Jul 2024 15:00:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Функция для кодирования URL</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425294">Функция для кодирования URL</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Есть ли способ сделать такое преобразование с учётом национальных символов с диакритическими знаками (немецкий, чешский и другие языки)? Я пытался написать похожий скрипт, но у меня не получилось именно с диакритическими знаками. Похоже, что RouterOS воспринимает «e», «é» и «ě» как одинаковые символы, и я не знаю, можно ли это как-то исправить. <br />
			<i>24.07.2024 16:50:00, Radek01.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425294</link>
			<guid>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425294</guid>
			<pubDate>Wed, 24 Jul 2024 16:50:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Функция для кодирования URL</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425293">Функция для кодирования URL</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, работает на ROS 6.44.2. <br />
			<i>25.04.2019 23:39:00, eminkaplan.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425293</link>
			<guid>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425293</guid>
			<pubDate>Thu, 25 Apr 2019 23:39:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Функция для кодирования URL</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425292">Функция для кодирования URL</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Отлично, спасибо, что поделился. Это стоит сохранить! <br />
			<i>20.02.2017 19:47:00, AffinityNetworks.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425292</link>
			<guid>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425292</guid>
			<pubDate>Mon, 20 Feb 2017 19:47:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Функция для кодирования URL</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425291">Функция для кодирования URL</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Всем привет! Я поигрался с функциями и придумал способ URL-кодирования текста. Я регулярно использую /tool fetch, чтобы отправлять данные на PHP-скрипт на своём веб-сервере. У меня своя самодельная версия DYDNS, и полезно, чтобы информация правильно кодировалась, чтобы приходить целой и невредимой. Вот код:<br /><br />Создайте файл с именем urlencode.fnc:<br /><br />if ([:len $this ]&gt;0) do={<br />:local chars " \"%&";<br />:local subs { "%20"; "'"; "%25"; "%26" }<br />:local that "";<br />:for i from=0 to=([:len $this]-1) do={<br />	:local s [:pick $this $i];<br />	:local x [:find $chars $s]<br />	:if ([:len $x]&gt;0) do={<br />		:set $s ($subs-&gt;$x)<br />	}<br />	:set $that ($that . $s)<br />}<br />:return $that;<br />}<br /><br />Создайте еще один файл под названием test.rsc:<br /><br /># тест функции<br /><br /># создаём функцию из файла<br />:local urlencode [:parse [/file get [/file find name="url_encoder.fnc"] contents] ];<br /><br /># строка для теста<br />:local names "our names are 'bob' & 'doug'";<br /><br /># использование<br />:local op [$urlencode this=$names];<br />:put $op;<br /><br />Загрузите оба файла на роутер. В CLI введите: /import test.rsc — и вуаля!<br /><br />Примечания: Обратите внимание, что в этой версии кодируются только четыре символа: пробел, двойная кавычка, знак процента и амперсанд. Так как именно эти символы нужны мне. Вы можете добавить свои символы по необходимости: символы для замены указывайте во второй строке, а их подстановки — в третьей. Не забудьте сохранить правильный порядок, формат и синтаксис. Всего можно закодировать более 200 символов, тогда скрипт будет очень длинным, поэтому лучше использовать только те, которые вам реально нужны.<br /><br />Таблица кодировок здесь: <noindex><a href="http://www.w3schools.com/tags/ref_urlencode.asp" target="_blank" rel="nofollow" >http://www.w3schools.com/tags/ref_urlencode.asp</a></noindex><br /><br />Для восстановления используйте php urldecode() (или аналог в вашем языке).<br /><br />Не обманывайтесь обратным слэшем во второй строке — двойные кавычки внутри двойных кавычек нужно «экранировать».<br /><br />Функция использует переменную $this для получения параметра — то есть текст, который надо кодировать.<br /><br />Информация о функциях в скриптах RouterOS здесь: <noindex><a href="http://wiki.mikrotik.com/wiki/Manual:Scripting#Functions" target="_blank" rel="nofollow" >http://wiki.mikrotik.com/wiki/Manual:Scripting#Functions</a></noindex><br /><br />Надеюсь, кому-то пригодится. Удачного кодирования!<br /><br />Проверено на версии 6.37.3, январь 2017. <br />
			<i>07.01.2017 23:01:00, LaZyLion.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425291</link>
			<guid>http://mikrotik.moscow/forum/forum57/88282-funktsiya-dlya-kodirovaniya-url/message425291</guid>
			<pubDate>Sat, 07 Jan 2017 23:01:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
