## How to use Hikvision templates in bash with curl ### `Define connection parameters` ```bash camuser=user campass=pass camaddr=192.168.254.254 camport=80 ``` ### `Define action parameters` > All variables beginning with **"@"** and ending with **"@"** must be changed to valid data. > Request path, request type, content type are specified between **"\"**. Example of defining parameters from CGI "GetCapabilities" template: ```bash dat="" url=$(cat ./hikvision/template/cgi_GetCapabilities.html | grep 'PATH' | cut -d' ' -f3) req=$(cat ./hikvision/template/cgi_GetCapabilities.html | grep 'METHOD' | cut -d' ' -f3) ``` Example of defining parameters from XML "SetTextOverlay" template: ```bash dat=$(cat ./hikvision/template/xml_SetTextOverlay.xml) dat=${dat//@ID@/1} dat=${dat//@ENABLED@/true} dat=${dat//@XXXX@/0} dat=${dat//@YYYY@/0} dat=${dat//@MSG@/"text"} url=$(cat ./hikvision/template/xml_SetTextOverlay.xml | grep 'PATH' | cut -d' ' -f3) url=${url//@CHANNEL@/101} req=$(cat ./hikvision/template/xml_SetTextOverlay.xml | grep 'METHOD' | cut -d' ' -f3) ``` ### `Send action request` ```bash curl -d "$dat" -X "$req" "http://$camuser:$campass@$camaddr:$camport/$url" ```