passando parâmetros para beanshell remoto
-
19-09-2019 - |
Pergunta
Eu preciso passar parâmetro para remoto beanshell script que é executado através
java -cp bsh-2.0b4.jar bsh.Remote http://10.0.0.1/beanshell script.bsh p1 p2 p3
chamada.
É de alguma forma possível ler 'p1' params, 'p2' e 'P3' de dentro do script.bsh
?
P.S. params locais que passam por bsh.args
funciona bem, mas é inutilizável com o script remoto.
Solução
suponho, você está usando beanshell biblioteca . Não há nenhuma maneira de fazê-lo, de acordo com fontes: o utilitário leva apenas 2 argumentos: o URL e o nome do arquivo script local. Ele ainda não suporta vários nomes de arquivos de script, como afirmam.
public class Remote
{
public static void main( String args[] ) throws Exception
{
if ( args.length < 2 ) {
System.out.println("usage: Remote URL(http|bsh) file [ file ] ... ");
System.exit(1);
}
String url = args[0];
String text = getFile(args[1]);
int ret = eval( url, text );
System.exit( ret );
}
Além disso, o lado do servidor deve estar ciente sobre os argumentos passados.
As maneiras para você:
- Criar o script modelo, em que você vai substituir os argumentos para o script e salvar o script substituto para dir temporário antes de passar para
bsh.Remote
- Crie um arquivo remoto, onde o script pode ler argumentos de. Você precisa de comunicação adicional com o site remoto para carregar este arquivo antes de chamar
bsh.Remote
.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow