#5928: Как экпортировать список URL через API?
Отредактирована: 106 дней назадСимптомы
При попытке экпортировать список через API v2.nlists.list.export получаю ответ вида <string>d213efeb-8544-4d1d-bff6-7700434b9705</string>
При попытке скачать файл (без разницы curl или в браузере) по ссылке http://192.168.12.253:4040/rpc/d213efeb-8544-4d1d-bff6-7700434b9705 получаю ошибку "File not found"
Решение
В API UserGate NGFW метод v2.nlists.list.export не возвращает сам файл напрямую. Воспользуйтесь методом v3.storage.file.genExternalUrl для получения File URL.

#!/usr/bin/env python3
SERVER = '192.168.152.150'
USER = 'Admin'
PASSWORD = '1'
import xmlrpc.client
from pprint import pprint
server = xmlrpc.client.ServerProxy('http://' + SERVER + ':4040/rpc', verbose=False)
res = server.v2.core.login(USER, PASSWORD, {})
auth_token = res['auth_token']
list_id=****
file_uid=server.v2.nlists.list.export(auth_token, list_id, {})
URL=server.v3.storage.file.genExternalUrl(auth_token, file_uid)
pprint(URL)
server.v2.core.logout(auth_token)
Далее, необходимо перейти по ссылке, которую выдаст скрипт, и добавить IP-адрес и порт 4040.
*Для того, чтобы узнать list_id нужного списка URL воспользуйтесь инструментом разработчика - f12*
Пример:

Литература:
https://static.usergate.com/manuals/api/ngfw-7.4.1/methods/nlists.html#v2nlistslistexport