我试图找出url语法将参数传递给我的“Sikuli服务器”

时间:2013-01-20 02:05:30

标签: java jetty sikuli

enix12enix编写了一个独立的sikuli服务器来远程启动sikuli脚本。我有服务器正在运行,我现在正在尝试传递值和url。我想它看起来像这样:

http://server:9000/test.do?script=/yourscript&argv[1]=arg1value

&之前的一切现在正常运作。我知道答案是在这里找到的java中的某个地方:

https://github.com/enix12enix/sikuliserver/blob/master/java/src/org/sikuli/SikuliScriptParamProcessor.java

因为有一个名为extractparameters的函数。任何人都可以帮助找出网址的语法?

非常感谢,

雅各

2 个答案:

答案 0 :(得分:1)

根据用于检查参数名称是否正确的模式,您应该使用以下格式发送参数:argv## (1-99)。因此,您不应在网址中发送argv[1],而应该argv1

答案 1 :(得分:1)

谢谢Jair,我想出了如何在Sikuli脚本中引用它。我想那些熟悉Java / Python / Jython的人已经意识到了这一点,但我只是一个设置远程Sikuli服务器的菜鸟。

参数可以通过url传递,如下所示:

http://server:9000/test.do?script=/yourScriptName.sikuli&argv1=value1&argv2=value2

依此类推,通过argv99。

通常,在从命令行运行脚本(--args value1 value2)时,您将在Sikuli脚本中引用该参数,如下所示:

import sys
var1 = sys.argv[1]
var2 = sys.argv[2]

在使用java方面的时候,引用有点不同:

import java
var1 = java.lang.System.getProperty('argv1')
var2 = java.lang.System.getProperty('argv2')

等等。