Сервер: Отправить данные методом GET или POST в консоли
Для отправки данных формы методом GET или POST в консоли можно использовать утилиту curl
Запросы curl методом GET
# Обычный GET запрос: curl "http://hostname/resource?color=red&name=default" # GET запрос с ожиданием JSON ответа: curl -i -H "Accept: application/json" http://hostname/resource # Использование параметра -i заставляет curl включать в вывод HTTP-заголовки ответа # GET запрос с ожиданием XML ответа: curl -H "Accept: application/xml" -X GET http://hostname/resource
Запросы curl методом POST
# Отправка обычных данных формы: curl --data "param1=value1¶m2=value2" http://hostname/resource # Загрузка файла: curl --form "fileupload=@/path/to/filename.txt" "http://hostname/resource" # RESTful HTTP Post с отправкой содержимого файла: curl -X POST -T filename "http://hostname/resource" # Авторизация: # 1. Сначала отправляем данные для входа, сохраняя куки: curl -d "username=admin&password=admin&submit=Login" --dump-header headers "http://localhost/login" # --dump-header headers указывает curl на то, что необходимо сохранить заголовки ответа сервера в файл с именем headers. # Это включает в себя куки, которые сервер может отправить в ответ на запрос авторизации. # 2. Затем используем сохранённые куки для доступа: curl -L -b headers "http://localhost/" # Параметр -b headers используется для того, чтобы curl прочитал файл headers, содержащий куки, и включил эти куки в следующий запрос # Таким образом, curl отправляет запрос к серверу, автоматически добавляя куки из файла headers в заголовок Cookie запроса # Отправка данных в формате json curl -X POST -H "Content-Type: application/json" -d {\"key1\":\"value1\", \"key2\":\"value2\"} "http://hostname/resource" # Данные формы отправляются в формате JSON, что требует явного указания типа содержимого через заголовок Content-Type: application/json # Данные формы представлены в виде строки JSON, а экранированные двойные кавычки обеспечивают правильное интерпретирование JSON-объекта
Основные параметры curl запроса:
-X или --request — Указывает метод запроса (например, GET, POST).
-d или --data — Отправляет данные в теле POST запроса. Для отправки JSON и других типов данных требуется соответствующий заголовок Content-Type.
-H или --header — Добавляет заголовок к запросу. Часто используется для указания типа содержимого (Content-Type) или для работы с токенами авторизации.
-F или --form — Отправляет данные как multipart/form-data, используется для загрузки файлов.
-b или --cookie — Отправляет куки с запросом. Можно указать строкой или файлом.
-c или --cookie-jar — Сохраняет куки, полученные от сервера, в файл.
-L или --location — Автоматически следует по перенаправлениям (редиректам) от сервера.
-i или --include — Включает HTTP-заголовки в вывод.
-v или --verbose — Показывает подробный процесс выполнения запроса, включая отправляемые и получаемые заголовки.
-T или --upload-file — Загружает файл на сервер.
-o или --output — Сохраняет ответ сервера в файл вместо вывода в консоль.
--data-binary — Отправляет данные в теле запроса без изменений, что полезно для отправки двоичных данных или контента, который не должен быть изменён.
-H "Accept: application/json" или -H "Accept: application/xml" — Указывает ожидаемый формат ответа.
Комментарии