Estou tentando enviar dados para um formulário no trabalho. Suspeito que minha abordagem ingênua não funcione por causa da "tecnologia" na página que interfere nela. Basicamente, a página da web (desculpe, não posso criar um link para ela aqui, não é pública)
<form action="login.php" method="get" name="LogIn" class="form-signin">
e, em seguida, várias entradas como
<input type="text" class="form-control" id="docIdent" name="docIdent" placeholder="@" required>
então estou tentando o seguinte comando cURL:
curl -d "docIdent=WHATEVER" -d "type=WHATEVER" -d "comment=" URL
onde os três dados parecem ser necessários foram obtidos por: 1. Baixando o .html. 2. Alterar o método de formulário de "post" para "get" e abri-lo em um navegador. 3. Preencher o formulário e enviar (obteve um erro de "página não encontrada", é claro, mas a nova URL tinha todos esses dados, incluindo o 3º campo vazio).
Bem, não funciona (retorno a mesma página de login e posso verificar se não houve login no momento em que tento). Não sei muito sobre essas coisas, mas suspeito que possa ser algum outro código que não esteja na página: existe
<script src="dist/js/bootstrap.min.js"></script>
<script src="dist/js/jquery-3.4.1.min.js"></script>
<script src='js/fns.js'></script>
e claro o "login.php" na abertura do formulário. De muitas outras postagens, minha sintaxe parece correta; existe alguma esperança de um login automático (o tipo de script bash que colocarei no cron, como o one-liner que estou tentando)? Obrigado.
Bom, no final encontrei a seguinte solução: com meu navegador (Firefox, Web Developer Tools) capturei a requisição. Ficou assim:
... mais informações de cookies, que removi porque queria ver se o resto, que não muda toda vez, era suficiente. E funcionou. Muito obrigado a grawity pelo suporte útil.
Você pode capturar todas as solicitações HTTP (formulários GET ou POST) com o Firefox Web-Tools:
Web-Tools -> Rede -> envie seu formulário -> menu de contexto da URL do formulário (clique com o botão direito do mouse no script do formulário) -> Copiar => copiar como endereço cURL
Mais informações: https://everything.curl.dev/usingcurl/copyas