如何使用curl测试RESTful PUT(或DELETE)方法?
答案 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 /评论。
答案 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'