Для быстрого тестирования запросов к web сервисам очень удобно использовать curl запросы из командной строки. Простой GET запрос легко ввести прямиком в браузере, но вот с POST уже будет сложнее. Разумеется есть множество программ с удобным интерфейсом, но часто бывает что они не всегда под рукой, не установлены или надо написать универсальную инструкцию. В таком случае гораздо быстрее открыть терминал, ввести команду и сразу получить результат. Для установки curl на linux достаточно выполнить команду
sudo apt-get update && sudo apt-get install curl
Здесь я приведу несколько наиболее типичных примеров CURL запросов.
Пример CURL POST запроса и CURL GET запроса
curl -X POST http://127.0.0.1/page
curl -X GET http://127.0.0.1/page
Пример отправки данных постом
вариант 1: curl -X POST -d «data1=1&data2=2″ http://127.0.0.1/page
вариант 2: curl -X POST -d ‘{«data1″: «1″, «data2″: «2″}’ http://127.0.0.1/page
О том как программно загружать файлы с помощью curl смотрите в статье о загрузке файлов курлом
Пример отправки файла
curl -i -X POST —form datafile=@/path/to/file.pdf http://127.0.0.1/page
Обратите внимание на параметр -i, определяющий получение от сервера только заголовка. Параметр не обязательный, но ведь обычно достаточно только знать загрузился файл или нет.
Пример CURL запроса с авторизацией
curl -u username:password http://127.0.0.1/page -XPOST -d «id=123″ -v
О полезном параметре -v ниже.
Пример CURL JSON запроса
curl -X POST http://127.0.0.1/page -d ‘{«id»: «123″}’ -H «Content-Type:application/json»
Некоторые сервисы бракуют запросы без указания content-type, поэтому в случае json запроса — лучше всегда отправлять хэдер json.
Из полезных параметров стоит рассмотреть команду -v (verbose) чтобы получить максимум информации по запросу.
О том как работать с curl запросом через прокси смотрите в данной статье.
Приведённых примеров должно хватить для использования в 95% , если понадобятся более тонкие запросы, то используйте
curl --help