O cURL é o utilitário mágico que permite aos desenvolvedores baixar o conteúdo de um URL, explorar cabeçalhos de resposta, obter cotações de ações, confirmar que nossa codificação GZip está funcionandoe muito mais. Outro ótimo uso do cURL para linha de comando é o POST de dados de formulário para um servidor, especialmente ao testar o processamento de formulários moderado a avançado. E, assim como outros comandos cURL, o POST de dados de formulário é incrivelmente simples.
Postando dados de formulário com cURL
Inicie seu comando cURL com curl -X POST
e, em seguida, adicione -F
para cada field=value
que o senhor deseja adicionar ao POST:
curl -X POST -F 'username=davidwalsh' -F 'password=something' http://domain.tld/post-to-me.php
Se o senhor estivesse usando PHP, poderia usar print_r
no campo $_POST
para verificar se o servidor recebeu os dados do POST conforme o esperado:
Array( 'username' => 'davidwalsh', 'password' => 'something' )
Se precisar enviar um tipo de dados ou cabeçalho específico com o cURL, use -H
para adicionar um cabeçalho:
# -d to send raw data curl -X POST -H 'Content-Type: application/json' -d '{"username":"davidwalsh","password":"something"}' http://domain.tld/login
Postando arquivos com cURL
O POST de um arquivo com cURL é um pouco diferente, pois é necessário adicionar um @
antes do local do arquivo, após o nome do campo:
curl -X POST -F 'image=@/path/to/pictures/picture.jpg' http://domain.tld/upload
Usando o PHP para explorar o $_FILES
mostraria os dados do arquivo como se ele tivesse sido carregado por meio de um formulário no navegador:
Array( "image": array( "name" => "picture.jpg" "type" => "image/jpeg", "tmp_name" => "/path/on/server/to/tmp/phprj5rkG", "error" => 0, "size" => 174476 ) )
Postar o conteúdo de um arquivo com cURL é provavelmente mais fácil do que o senhor imaginava, certo?
Na primeira vez em que precisei fazer o POST de dados de arquivos a partir da linha de comando, pensei que teria que lutar muito; em vez disso, descobri que o cURL facilitou o processo!