Как выполнить HTTP PUT в bash?
Я отправляю запросы стороннему API. В нем говорится, что я должен отправить HTTP PUT на http://example.com/project?id=projectId
Я попытался сделать это с помощью PHP curl, но я не получаю ответа от сервера. Может быть, что-то не так с моим кодом, потому что я никогда раньше не использовал PUT. Есть ли способ для меня выполнить HTTP PUT из командной строки bash? Если да, то какая команда?
Ответы
Ответ 1
С curl это будет что-то вроде
curl --request PUT --header "Content-Length: 0" http://website.com/project?id=1
но, как сказал Маттиас, вам, вероятно, понадобятся и некоторые данные в теле, поэтому вы захотите также тип контента и данные (плюс длина контента будет больше)
Ответ 2
Если вы действительно хотите использовать только bash, на самом деле он имеет некоторую поддержку в сети.
echo -e "PUT /project?id=123 HTTP/1.1\r\nHost: website.com\r\n\r\n" > \
/dev/tcp/website.com/80
Но я думаю, вы также хотите отправить некоторые данные в теле?