如何用curl做PUT请求?

时间:2012-12-08 21:38:40

标签: rest http curl

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

5 个答案:

答案 0 :(得分:512)

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

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

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

答案 1 :(得分:82)

您可以使用Chrome商店中的 POSTMAN 应用。

在一行中,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'

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

POSTMAN to get the request code

答案 2 :(得分:24)

继Martin C. Martin的评论之后的一个例子PUT:

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

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

答案 3 :(得分:7)

curl -X PUT -d 'new_value' URL_PATH/key

其中,

X - 用于请求命令的选项

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

URL_PATH - 远程网址

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

答案 4 :(得分:2)

我对此线程比较晚,但是我也有类似的要求。由于我的脚本是动态构造对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'