С полями:
curl --data "param1=value1¶m2=value2" https://example.com/resource.cgi
С полями, указанными индивидуально:
curl --data "param1=value1" --data "param2=value2" https://example.com/resource.cgi
Многослойный:
curl --form "fileupload=@my-file.txt" https://example.com/resource.cgi
Многослойный с полями и именем файла:
curl --form "fileupload=@my-file.txt;filename=desired-filename.txt" --form param1=value1 --form param2=value2 https://example.com/resource.cgi
Без данных:
curl --data '' https://example.com/resource.cgi
curl -X POST https://example.com/resource.cgi
curl --request POST https://example.com/resource.cgi
Для получения дополнительной информации см. ВИХРЕВОЕ руководство. ВИХРЕВОЕ учебное руководство при эмуляции веб-браузера полезно.
С libcurl используйте curl_formadd()
функционируйте для создания формы прежде, чем отправить его обычным способом. См. libcurl документацию для получения дополнительной информации.
Для больших файлов полагайте, что добавляющие параметры показывают прогресс загрузки:
curl --tr-encoding -X POST -v -# -o output -T filename.dat \
http://example.com/resource.cgi
-o output
требуется, иначе никакой индикатор выполнения не появится.
curl -d "name=Rafael%20Sagula&phone=3320780" http://www.where.com/guest.cgi
пример, найденный в Вихревом Руководстве В качестве примера.
Используйте %26 для амперсандов хотя, если вышеупомянутое не работает:
curl -d "name=Rafael%20Sagula%26phone=3320780" http://www.where.com/guest.cgi
curl -v --data-ascii var=value http://example.com
и существует намного больше опций, проверяет curl --help
для получения дополнительной информации.
Для УСПОКОИТЕЛЬНОГО HTTP POST, содержащий XML:
curl -X POST -d @filename.txt http://example.com/path/to/resource --header "Content-Type:text/xml"
или для JSON, используйте это:
curl -X POST -d @filename.txt http://example.com/path/to/resource --header "Content-Type:application/json"
Это считает содержание названного файла filename.txt
и отправьте его как запрос сообщения.