API remota por meio de HTTP
Talvez você queira criar operadores a partir do seu próprio site e atualizar o banco de dados do NxCloud automaticamente. Você pode criar seu próprio conjunto de APIs para
lidar com seus operadores remotamente usando as classes DAO e Data do NxCloud.
Para obter mais informações sobre as classes DAO e Data, leia Classes DAO e Data
Exemplo de conjunto de APIs
Temos um exemplo de conjunto de APIs em /nxfilter/webapps/example/remoteapi.jsp. Você pode chamar essa página JSP remotamente por meio do protocolo HTTP.
Na página JSP, há essas ações definidas,
- createOperator
Você pode criar um operador com essa ação. Ela recebe 2 parâmetros.
Um é 'opName' para o nome do operador. O outro é 'opType' para o tipo de operador que você deseja criar,
definido como 1 para uma operadora do tipo comercial e definido como 2 para uma operadora do tipo residencial. Em caso de sucesso, ele retorna '/OK' e, em caso de erro, retorna '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=createOperator&opName=testname&opType=1
- selectOperator
Você pode obter as informações de um operador com essa ação. Ela usa o parâmetro 'opName' para o nome de um operador.
Em caso de sucesso, retorna uma matriz JSON contendo as informações do operador.
Em caso de erro, retorna '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=selectOperator&opName=testname
- setExpDate
Serve para definir uma data de expiração para um operador. São necessários 2 parâmetros.
Um é 'opName' para o nome do operador. O outro é "expDate", que é uma cadeia de caracteres no formato "yyyyMMdd" para a data de expiração que você deseja definir para a filtragem.
que você deseja definir para o serviço de filtragem. Em caso de sucesso, ele retorna '/OK' e, em caso de erro, retorna '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=setExpDate&opName=testname&expDate=20191231
Por padrão, a página JSP de exemplo aceita apenas as chamadas de 127.0.0.1 ou localhost. Você precisa modificar a parte de restrição da página JSP para aceitar as solicitações de outros hosts. as solicitações de outros hosts.
// Only localhost access allowed.
if(!request.getRemoteAddr().startsWith("127.0.0.1")){
out.println(request.getRemoteAddr());
return;
}
Para criar essas funções de API remota, usamos apenas as classes NxFilter DAO e Data. Portanto, é possível criar outras ainda mais complicadas.
Você pode ter uma ACL baseada em IP para suas páginas JSP por System > Allowed IP > Allowed IP To GUI.