Put curl: rest — How to do a PUT request with cURL?
Содержание
остальных — Как сделать запрос PUT с помощью cURL?
Как проверить метод RESTful PUT (или DELETE) с помощью cURL?
- rest
- http
- curl
Использование флага -X
с любой HTTP-командой:
curl -X PUT -d arg=val -d arg2=val2 localhost:8088
В этом примере также используется флаг -d
для предоставления аргументов с вашим запросом PUT.
6
Быстрый ответ:
В одной строке команда curl будет:
При отправке данных формы:
curl -X PUT -H "Тип контента: multipart/form-data;" -F "key1=val1" "ВАШ_URI"
При отправке необработанных данных в формате json:
curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"
При отправке файла с запросом POST:
curl -X POST "YOUR_URI" -F 'file=@/file-path.csv'
Альтернативное решение:
Вы можете использовать приложение POSTMAN из Chrome Store, чтобы получить эквивалентный запрос cURL. Это особенно полезно при написании более сложных запросов.
Для запроса с другими форматами или для других клиентов, таких как java, PHP, вы можете проверить POSTMAN/комментарий ниже.
9
Пример PUT после комментария Мартина С. Мартина:
curl -T имя файла.txt http://www.example.com/dir/
С -T
(так же, как --upload-file
) curl будет использовать PUT для HTTP.
2
Я опоздал на эту тему, но у меня тоже было подобное требование. Поскольку мой скрипт динамически строил запрос на curl, мне нужна была аналогичная структура команды для GET, POST и PUT.
Вот что мне подходит
Для PUT запрос:
curl --request PUT --url http://localhost:8080/put --header 'тип содержимого: application/x-www-form-urlencoded' --data 'bar=baz&foo= foo1'
Для запроса POST :
curl --request POST --url http://localhost:8080/post --header 'content-type: application/x-www-form-urlencoded' --data 'bar =баз&foo=foo1'
Для GET запрос:
curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'
curl -X PUT -d 'новое_значение' URL_PATH/ключ
где,
X — опция, используемая для команды запроса
d — опция, используемая для размещения данных на удаленном URL
URL_PATH — удаленный URL ключ
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
curl Примеры POST · GitHub
Общие параметры
-#, --прогресс-бар
Сделайте отображение curl простым индикатором выполнения вместо более информативного стандартного индикатора.
-b, --cookie <имя=данные>
Предоставить cookie с запросом. Если нет =
, то указывает файл cookie для использования (см. -c
).
-c, --cookie-jar <имя файла>
Файл для сохранения файлов cookie ответов.
-d, --data <данные>
Отправить указанные данные в запросе POST. Подробная информация представлена ниже.
-f, --сбой
Ошибка молча (не выводить HTML-форму ошибки, если возвращается).
-F, --form <имя=содержание>
Отправить данные формы.
-H, --header <заголовок>
Заголовки для предоставления с запросом.
-i, --include
Включите заголовки HTTP в вывод.
-I, --head
Получить только заголовки.
-k, --небезопасно
Разрешить небезопасные соединения для успеха.
-L, --местоположение
Следите за редиректами.
-o, --output <файл>
Запишите вывод в . Можно использовать --create-dirs
в сочетании с этим для создания любых каталогов.
указанный в пути -o
.
-O, --remote-name
Запись вывода в файл с именем, подобным удаленному файлу (запись только в текущий каталог).
-s, --silent
Бесшумный (тихий) режим. Используйте с -S
, чтобы заставить его показывать ошибки.
-v, --verbose
Предоставьте дополнительную информацию (полезно для отладки).
-w, --write-out <формат>
Заставить curl отображать информацию на stdout после завершения передачи. См. справочную страницу для получения более подробной информации о
доступные переменные. Удобный способ заставить curl добавить новую строку в вывод: -w "\n"
(можно добавить
до ~/.curlrc
).
-X, --запрос
Используемый метод запроса.
ПОЧТ
При отправке данных через запрос POST или PUT используются два распространенных формата (указанных в заголовке Content-Type
):
-
приложение/json
-
приложение/x-www-form-urlencoded
Многие API принимают оба формата, поэтому, если вы используете curl
в командной строке, может быть немного проще использовать формат urlencoded формы вместо json, потому что
- формат json требует дополнительных кавычек
- curl по умолчанию отправит форму с URL-адресом, поэтому для json заголовок
Content-Type
должен быть явно установлен
В этом кратком описании приведены примеры использования обоих форматов, в том числе способы использования образцов файлов данных в любом формате с запросами curl
.
использование скручивания
Для отправки данных с запросами POST и PUT это общие параметры curl
:
Примеры
Приложение POST/x-www-form-urlencoded
application/x-www-form-urlencoded
по умолчанию:
curl -d "param1=value1¶m2=value2" -X POST http://localhost:3000/data
явный:
curl -d "param1=value1¶m2=value2" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://localhost:3000/data
с файлом данных
curl -d "@data.