Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 (can be used only in HTTPS mode).

Properties

PropertyDescription
address (string; Default: )IP address of the device to copy file from.
as-value (set | not-set; Default: not-set)Store the output in a variable, should be used with the output property.
ascii (yes | no; Default: no)Can be used with FTP and TFTP
certificate (string; Default: )

Certificate that should be used for host verification. Can be used only in HTTPS mode.

check-certificate (yes | yes-without-crl | no; Default: no)

Enables trust chain validation from local certificate store.

Used only in HTTPS mode.

yes-without-crl, validates a certificate, not performing CRL check (certificate revocation list).  Can be used only in HTTPS mode.

dst-path (string; Default: )Destination filename and path.
duration (time; Default: )

Time how long fetch should run.

host (string; Default: )

A domain name or virtual domain name (if used on a website, from which you want to copy information). For example,

address=wiki.mikrotik.com host=forum.mikrotik.com

In this example the resolved ip address is the same (66.228.113.27), but hosts are different.
http-auth-scheme (basic|digest; Default: basic)HTTP authentication scheme
http-method (
|
delete|get|head|post|put; Default: get)
the
HTTP method to use
http-data (string; Default: )the data, that is going to be sent, when using PUT or POST methods
http-header-field (string; Default: *empty*)list of all header fields and their values, in the form of http-header-field=h1:fff,h2:yyy
http-content-encoding (deflate|gzip; Default: *empty*)Encodes the payload using gzip or deflate compression and adds a corresponding Content-Encoding header. Usable for HTTP POST and PUT only.
keep-result (yes | no; Default: yes)If yes, creates an input file.
mode (ftp|http|https|sftp|tftp; Default: http)Choose the protocol of connection - http, https , ftp, sftp or tftp.
output (none|file|user|user-with-headers; Default: file)Sets where to store the downloaded data.
  • none - do not store downloaded data
  • file - store downloaded data in a file
  • user - store downloaded data in the data variable (variable limit is 64Kb)
  • user-with-headers - store downloaded data and headers in the data variable (variable limit is 64Kb (20Kb for downloaded data, 44Kb for headers))
password (string; Default: anonymous)Password, which is needed for authentication to the remote device.
port (integer; Default: )Connection port.
src-address (ip address; Default: )Source address that is used to establish connection. Can be used only HTTP/S and SFTP modes.
src-path (string; Default: )Title of the remote file you need to copy.
upload (yes | no; Default: no)Only (S)FTP modes support
uploads
upload. If enabled then fetch will be used to upload files to a remote server.
Requires
Requires src-path and dst-path parameters to be set.
url (string; Default: )URL pointing to file. Can be used instead of address and src-path parameters.
user (string; Default: anonymous)
User name
Username, which is needed for authentication to the remote device.


Configuration Examples

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.

...