如何在bash中执行HTTP PUT?

Joh*_*ohn 11 bash put

我正在向第三方API发送请求.它说我必须发送一个HTTP PUThttp://example.com/project?id=projectId

我尝试用PHP curl做这个,但我没有得到服务器的响应.也许我的代码有问题,因为我之前从未使用过PUT.我有办法从bash命令行执行HTTP PUT吗?如果是这样,命令是什么?

Mat*_*man 6

如果你真的只想使用bash,它实际上有一些网络支持.

 echo -e "PUT /project?id=123 HTTP/1.1\r\nHost: website.com\r\n\r\n" > \
   /dev/tcp/website.com/80
Run Code Online (Sandbox Code Playgroud)

但我想你也想在体内发送一些数据?


Arn*_*-Oz 6

随着卷曲它会是这样的

curl --request PUT --header "Content-Length: 0" http://website.com/project?id=1
Run Code Online (Sandbox Code Playgroud)

但是就像Mattias说的那样,你可能也希望身体中有一些数据,所以你也想要内容类型和数据(加上内容长度会更大)