Sha*_*abu 2 shell scripting html
我目前正在尝试编写一个脚本来通过 shell 脚本更改网页上的一些参数。我可以毫无问题地更改文本框中的值,但我似乎无法弄清楚如何“按下”应用按钮。
这就是我更改值的方式,如您所见,我需要最后一次“应用”按钮。
setJitterDelay()
{
rate=${1}
if [ "${rate}" == "low" ]; then
((htmlJitterNegDelta = 5))
((htmlJitterPosDelta = 5))
((htmlJitterDelayMax = 10))
jDelta=5
else
if [ "${rate}" == "med" ]; then
((htmlJitterNegDelta = 25))
((htmlJitterPosDelta = 25))
((htmlJitterDelayMax = 50))
jDelta=25
else
if [ "${rate}" == "high" ]; then
((htmlJitterNegDelta = 50))
((htmlJitterPosDelta = 50))
((htmlJitterDelayMax = 100))
jDelta=50
else
echo "error: low, med, high not selected! Skipped..."
return
fi
fi
fi
### APPLY BUTTON
}
Run Code Online (Sandbox Code Playgroud)
我使用 Firebug 来了解我必须更改哪些值,Apply 按钮显示:
<input id="appFlowBw" type="submit" value="Apply" name="appFlowBw">
<form action="http://wanemu/XGEM_REV_BW_FLOW?blade=1&profile=0" method="post" name="rev_bw_form"></form>
Run Code Online (Sandbox Code Playgroud)
输入在源代码的表单中:
<TR>
<TD colspan="8"></TD>
<TD><INPUT type="submit" name="appFlowBw" id="appFlowBw" value="Apply" disabled></TD>
</FORM>
Run Code Online (Sandbox Code Playgroud)
但我不知道我现在如何“按下”这个按钮。
我希望你能理解我的问题并能提供帮助。
//编辑:添加表单
按下这个按钮只会让浏览器向服务器提交一个 POST 请求,连同相应表单的所有值作为请求正文中的有效负载。
因此,如果您希望在 shell 脚本中重现此点击的效果,您需要做的是以 POST 请求中传递的格式构建数据,然后向服务器提交 POST 以模拟按钮的按下.
使用 应该很容易做到这一点curl
,就像这里描述的那样:执行 POST 请求的 cURL 命令行语法是什么?
例子:
curl --data "param1=value1¶m2=value2" http://example.com/resource.cgi
Run Code Online (Sandbox Code Playgroud)