507

如何使用 cURL 测试 RESTful PUT(或 DELETE)方法?

4

5 回答 5

657

-X标志与您想要的任何 HTTP 动词一起使用:

curl -X PUT -d arg=val -d arg2=val2 localhost:8080

此示例还使用该-d标志为您的 PUT 请求提供参数。

于 2012-12-08T21:40:10.497 回答
169

快速回答:

在一行中,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 'file=@/file-path.csv'

替代解决方案:

您可以使用 Chrome 商店中的POSTMAN应用程序来获取等效的 cURL 请求。这在编写更复杂的请求时特别有用。

对于其他格式的请求或针对 java、PHP 等不同客户端的请求,您可以查看下面的 POSTMAN/comment。

POSTMAN 获取请求码

于 2015-10-27T04:33:10.953 回答
35

Martin C. Martin 评论后的 PUT 示例:

curl -T filename.txt http://www.example.com/dir/

-T(相同--upload-file) curl 将使用 PUT 进行 HTTP。

于 2015-10-14T13:02:29.920 回答
9
curl -X PUT -d 'new_value' URL_PATH/key

在哪里,

X - 用于请求命令的选项

d - 用于将数据放在远程 url 上的选项

URL_PATH - 远程 URL

new_value - 我们要放入服务器密钥的值

于 2016-09-22T10:17:16.830 回答
7

我迟到了这个线程,但我也有类似的要求。由于我的脚本是动态构建 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'
于 2019-02-05T18:00:02.183 回答