現在、シェルスクリプトを介してWebページの一部のパラメータを変更するスクリプトを作成しようとしています。問題なくテキストボックスの値を変更できますが、適用ボタンを「押す」方法がわからないようです。
ご覧のとおり、最後に適用ボタンを押す必要があるため、値を変更する方法です。
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
}
私はFirebugを使ってどの値を変更するべきかを理解し、「適用」ボタンは次のようになります。
<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>
入力はソースコードのフォーム内にあります。
<TR>
<TD colspan="8"></TD>
<TD><INPUT type="submit" name="appFlowBw" id="appFlowBw" value="Apply" disabled></TD>
</FORM>
しかし、今はこのボタンを「押す」方法がわかりません。
私の問題を理解し、助けてくれることを願っています。
//編集:フォームを追加
ベストアンサー1
このボタンを押すと、ブラウザはそのフォームのすべての値を要求本文のペイロードとして使用して、サーバーにPOST要求を送信します。
したがって、シェルスクリプトでこのクリックの効果を再現するには、POSTリクエストに渡された形式でデータをビルドし、POSTをサーバーに送信してボタンの押下をシミュレートする必要があります。
以下を使用すると、これを簡単に実行できますcurl
。POSTリクエストを実行するためのcURLコマンドライン構文は何ですか?
例:
curl --data "param1=value1¶m2=value2" http://example.com/resource.cgi