Fetch is one of the console tools in Mikrotik RouterOS. It is used to copy files to/from a network device via HTTP, FTP or SFTP (Support for SFTP added on v6.45), it can also be used to send POST/GET requests and send any kind of data to a remote server. The HTTPS protocol is supported; by default, no certificate checks are made, but setting check-certificate to yes enables trust chain validation from the local certificate store.
The following example shows how to copy the file with filename "conf.rsc" from a device with ip address 192.168.88.2 by FTP protocol and save it as file with filename "123.rsc". User and password are needed to login into the device.
Example to upload file to another router:
Another file download example that demonstrates the usage of url property.
Sending information to a remote host
It is possible to use an HTTP POST request to send information to a remote server, that is prepared to accept it. In the following example, we send geographic coordinates to a PHP page:
Of course, you can use Fetch with scripts and fill the above command with variables from the RouterOS GPS menu.
Return value to a variable
Since RouterOS v6.43 it is possible to save the result of the fetch command to a variable. For example, it is possible to trigger a certain action based on the result that an HTTP page returns. You can find a very simple example below that disables ether2 whenever a PHP page returns "0":
Since 6.45beta50 /tool fetch support SFTP (SSH File Transfer Protocol) protocol: