Как проверить метод RESTful PUT (или DELETE) с помощью curl?
Как сделать запрос PUT с завитком?
Ответ 1
Использование флага -X
с любым HTTP-глаголом, который вы хотите:
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
В этом примере также используется флаг -d
для предоставления аргументов с запросом PUT.
Ответ 2
Вы можете использовать приложение POSTMAN из магазина Chrome.
В одной строке команда curl будет:
a) При отправке данных формы:
curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI"
b) При отправке необработанных данных как json:
curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"
c) Если вы отправляете файл с запросом POST:
curl -X POST "YOUR_URI" -F '[email protected]/file-path.csv'
Для запроса с другими форматами или для разных клиентов, таких как java, PHP, вы можете проверить POSTMAN/комментарий ниже.
Ответ 3
Пример PUT, следующий за Мартином Мартином:
curl -T filename.txt http://www.example.com/dir/
С -T
(то же, что и --upload-file
) curl будет использовать PUT для HTTP.
Ответ 4
curl -X PUT -d 'new_value' URL_PATH/key
где
X - опция, которая будет использоваться для команды запроса
d - опция, используемая для размещения данных на удаленном URL
URL_PATH - удаленный URL
new_value - значение, которое мы хотим поставить на ключ сервера
Ответ 5
Я опоздал к этой теме, но у меня тоже было подобное требование. Поскольку мой сценарий создавал запрос на curl динамически, я хотел подобную структуру команды через GET, POST и PUT.
Вот что у меня работает
Для запроса PUT:
curl --request PUT --url http://localhost:8080/put --header 'content-type: 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=baz&foo=foo1'
Для запроса GET:
curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'