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 будет:

  1. При отправке данных формы:

     curl -X PUT -H "Тип контента: multipart/form-data;" -F "key1=val1" "ВАШ_URI"
     
  2. При отправке необработанных данных в формате json:

     curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"
     
  3. При отправке файла с запросом 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.