API: Загрузка файла на сервер
Чтобы загрузить файл на сервер через API панели ispmanager 6, необходимо выполнить следующий cURL-запрос:
> curl -k -X POST "https://%АДРЕС_ПАНЕЛИ%/mancgi/upload" \
-H "Cookie: ispmgrlang5=dragon:ru; ispmgrses5=%ID_СЕССИИ% \
-H "Referer: https://%АДРЕС_ПАНЕЛИ%/ispmgr" \
-F "func=file.upload" \
-F "out=json" \
-F "plid=%ДИРЕКТОРИЯ_ЗАГРУЗКИ_ФАЙЛА%" \
-F "elid=%ИМЯ_ФАЙЛА_ПОСЛЕ_ЗАГРУЗКИ%" \
-F "name=%ИМЯ_ФАЙЛА_ПОСЛЕ_ЗАГРУЗКИ%" \
-F "mgrname=ispmgr" \
-F "type=data" \
-F "sok=ok" \
-F "filename=%ПУТЬ_ДО_ЗАГРУЖАЕМОГО_ФАЙЛА%"Чтобы получить ID сессии для параметра ispmgrses5, к целевой панели необходимо выполнить следующий запрос, вставив его в адресную строку:
https://%АДРЕС_ПАНЕЛИ%/ispmgr?out=xml&func=auth&username=%ПОЛЬЗОВАТЕЛЬ%&password=%ПАРОЛЬ%Пример
В качестве примера, предположим что необходимо загрузить на панель по адресу 192.168.22.88:1500 загрузить с ПК на Linux файл file.txt, который расположен по пути /home/user/Documents/.
Для начала, потребуется получить ID сессии пользователя на целевой панели. Предположим, что загружаться файл будет под пользователем root с паролем rootpasswd:
https://192.168.22.88:1500/ispmgr?out=xml&func=auth&username=root&password=rootpasswdПосле выполнения этого запроса вы получите ID сессии пользователя root в виде последовательности символов, например:
4c2urd256a0781b5f4d73d2a0Теперь вы можете загрузить файл file.txt, например в каталог /var/www/www-root/data/ на сервере с панелью:
> curl -k -X POST "https:///192.168.22.88:1500/mancgi/upload" \
-H "Cookie: ispmgrlang5=dragon:ru; ispmgrses5=4c2urd256a0781b5f4d73d2a0 \
-H "Referer: https:///192.168.22.88:1500/ispmgr" \
-F "func=file.upload" \
-F "out=json" \
-F "plid=/var/www/www-root/data/" \
-F "elid=file.txt" \
-F "name=file.txt" \
-F "mgrname=ispmgr" \
-F "type=data" \
-F "sok=ok" \
-F "filename=/home/user/Documents/file.txt"