Pressione um botão html via script de shell?

2

Atualmente, estou tentando escrever um script para alterar alguns parâmetros em uma página da Web por meio de um script de shell. Posso alterar os valores nas caixas de texto sem problemas, mas não consigo descobrir como posso "pressionar" o botão Aplicar.

É assim que eu mudo os valores, como você pode ver, eu preciso de um botão final "Aplicar".

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
}

Eu usei o Firebug para saber quais valores eu tinha que alterar e o botão Aplicar diz isso:

  <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>

A entrada está dentro do formulário no código-fonte:

             <TR>
          <TD colspan="8"></TD>
          <TD><INPUT type="submit" name="appFlowBw" id="appFlowBw" value="Apply" disabled></TD>
      </FORM>

Mas não sei como posso agora "pressionar" este botão.

Espero que você entenda meu problema e possa ajudar.

// edit: formulário adicionado

    
por Shabu 30.08.2013 / 10:09

1 resposta

6

Pressionar este botão fará com que o navegador envie uma solicitação POST ao servidor, juntamente com todos os valores do formulário correspondente como carga útil no corpo da solicitação.

Portanto, se você quiser que o efeito desse clique seja reproduzido em um shell script, o que você precisa fazer é criar os dados no formato que ele passa em uma solicitação POST e, em seguida, enviar um POST ao servidor para emular do botão.

Deve ser muito fácil fazer isso com curl , como descrito aqui: O que é a sintaxe da linha de comando cURL para fazer uma solicitação POST?

Exemplo:

curl --data "param1=value1&param2=value2" http://example.com/resource.cgi
    
por 30.08.2013 / 10:22