Com campos:
curl --data "param1=value1¶m2=value2" https://example.com/resource.cgi
Com campos especificados individualmente:
curl --data "param1=value1" --data "param2=value2" https://example.com/resource.cgi
Multipartes:
curl --form "[email protected]" https://example.com/resource.cgi
Multiparte com campos e um nome de arquivo:
curl --form "[email protected];filename=desired-filename.txt" --form param1=value1 --form param2=value2 https://example.com/resource.cgi
Sem dados:
curl --data '' https://example.com/resource.cgi
curl -X POST https://example.com/resource.cgi
curl --request POST https://example.com/resource.cgi
Para mais informações, consulte o manual cURL. O manual cURL sobre emular um navegador web é útil.
Com a libcurl, utilize a função curl_formadd()
para construir seu formulário antes de enviá-lo da forma usual. Veja a documentação da libcurl para mais informações.
Para arquivos grandes, considere a possibilidade de adicionar parâmetros para mostrar o progresso do upload:
curl --tr-encoding -X POST -v -# -o output -T filename.dat \
http://example.com/resource.cgi
A `-o output' é necessária, caso contrário não aparecerá nenhuma barra de progresso.
curl -d "name=Rafael%20Sagula&phone=3320780" http://www.where.com/guest.cgi
é o exemplo encontrado no Manual de Exemplo de Curl.
Use %26 para os amplificadores, embora se o acima não funcionar:
curl -d "name=Rafael%20Sagula%26phone=3320780" http://www.where.com/guest.cgi
curl -v --data-ascii var=value http://example.com
e há muitas mais opções, marque `curl --help' para mais informações.