Удаленный API через HTTP
Вы можете захотеть создавать операторы с вашего собственного сайта и обновлять БД NxCloud автоматически. Вы можете создать свой собственный набор API для
удаленной работы с операторами, используя классы DAO и Data из NxCloud.
Для получения дополнительной информации о классах DAO и Data прочтите Классы DAO и Data
Пример набора API
У нас есть пример набора API в /nxfilter/webapps/example/remoteapi.jsp. Вы можете вызвать эту JSP-страницу удаленно по протоколу HTTP.
В JSP-странице определены следующие действия,
- createOperator
С помощью этого действия можно создать оператор. Он принимает 2 параметра.
Один из них - 'opName' для имени оператора. Второй - 'opType' для типа оператора, который вы хотите создать,
1 - для оператора типа "бизнес" и 2 - для оператора типа "дом". В случае успеха возвращается '/OK', а в случае ошибки - '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=createOperator&opName=testname&opType=1
- selectOperator
С помощью этого действия можно получить информацию об операторе. Оно принимает параметр 'opName' для имени оператора.
При успехе возвращается массив JSON, содержащий информацию об операторе.
При ошибке возвращается '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=selectOperator&opName=testname
- setExpDate
Это действие предназначено для установки даты истечения срока действия оператора. Принимает 2 параметра.
Один из них - 'opName' для имени оператора. Другой - 'expDate', который представляет собой строку формата 'yyyyMMdd' для даты истечения срока действия
даты, которую вы хотите установить для службы фильтрации. В случае успеха возвращается '/OK', а в случае ошибки - '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=setExpDate&opName=testname&expDate=20191231
По умолчанию, пример JSP-страницы принимает вызовы только с адреса 127.0.0.1 или localhost. Вам необходимо изменить ограничительную часть JSP-страницы, чтобы она принимала запросы с других хостов.
// Only localhost access allowed.
if(!request.getRemoteAddr().startsWith("127.0.0.1")){
out.println(request.getRemoteAddr());
return;
}
Для создания этих удаленных API-функций мы использовали только классы NxFilter DAO и Data. Поэтому вы можете создать и более сложные.
Вы можете иметь ACL на основе IP-адреса для ваших JSP-страниц, используя System > Allowed IP > Allowed IP To GUI.