<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: '/tool fetch' недоступен через API.]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме '/tool fetch' недоступен через API. форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 21 Aug 2026 23:03:38 -0400</pubDate>
		<item>
			<title>'/tool fetch' недоступен через API.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/57288-_tool-fetch_-nedostupen-cherez-api./message215672">'/tool fetch' недоступен через API.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет. Хочу использовать fetch через API. Проблема в том, что через API, запуск fetch повторяет свой статус бесконечно, пока не будет прерван '/cancel'. Это создает сложности. Требуется, чтобы кто-то (например, я) реализовал совершенно другой метод для использования '/tool fetch' в Mikrotik через API. Это несовместимо со стандартом API и обработкой ошибок.<br /><br />Пример того, как выглядит успешная загрузка:<br /><br />&lt;&lt;&lt; /tool/fetch<br />&lt;&lt;&lt; =url=http://ftp.pl.debian.org/debian/README<br />&lt;&lt;&lt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=connecting<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=finished<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=finished<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=finished<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=finished<br />&gt;&gt;&gt; <br />/cancel<br /><br />&lt;&lt;&lt; /cancel<br />&lt;&lt;&lt; <br />&gt;&gt;&gt; !trap<br />&gt;&gt;&gt; =category=2<br />&gt;&gt;&gt; =message=interrupted<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !done<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !done<br />&gt;&gt;&gt;<br /><br />Пример, когда загрузка не удалась:<br /><br />&lt;&lt;&lt; /tool/fetch<br />&lt;&lt;&lt; =url=http://wp.pl/100<br />&lt;&lt;&lt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=connecting<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=failed<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=failed<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=failed<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=failed<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !re<br />&gt;&gt;&gt; =status=failed<br />&gt;&gt;&gt; <br />/cancel<br /><br />&lt;&lt;&lt; /cancel<br />&lt;&lt;&lt; <br />&gt;&gt;&gt; !trap<br />&gt;&gt;&gt; =category=2<br />&gt;&gt;&gt; =message=interrupted<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !done<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !trap<br />&gt;&gt;&gt; =message=failure: 301 Moved Permanently<br />&gt;&gt;&gt; <br />&gt;&gt;&gt; !done<br />&gt;&gt;&gt;<br /><br />Как видите в обоих случаях нужен '/cancel'.<br /><br />Что бы я (как разработчик) хотел бы видеть: когда fetch запускается, не выводить никакой информации. Просто ждать, пока не закончится загрузка/выгрузка. В случае успеха заканчивать это с помощью '!done'. Возвращать .id нового файла при завершении загрузки. В случае неудачи заканчивать это с помощью '!trap' и добавлять =msg=ДЕТАЛЬНОЕ СООБЩЕНИЕ О ПРОИЗОШЕДШЕМ. Это хорошо бы соответствовало концепциям API и облегчило бы перехват исключений. Это облегчит работу любому программисту без какого-либо "spagetti code".<br /><br />Разработчики Mikrotik, пожалуйста, присмотритесь к этому, потому что некоторые из нас действительно хотели бы видеть, как это работает без каких-либо "грязных хаков".<br /><br />Это также обсуждалось здесь:<br /><br /><noindex><a href="http://forum.mikrotik.com/t/solved-php-api-terminating-the-tool-fetch-command/51788/1" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/solved-php-api-terminating-the-tool-fetch-command/51788/1</a></noindex><br /><noindex><a href="http://forum.mikrotik.com/t/api-php-class/22551/1" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/api-php-class/22551/1</a></noindex> <br />
			<i>09.08.2012 14:43:00, luqasz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/57288-_tool-fetch_-nedostupen-cherez-api./message215672</link>
			<guid>http://mikrotik.moscow/forum/forum57/57288-_tool-fetch_-nedostupen-cherez-api./message215672</guid>
			<pubDate>Thu, 09 Aug 2012 14:43:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
