/
/
API: Загрузка файла на сервер

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"

В этой статье