如何使用cURL测试 RESTful PUT(或DELETE)方法?
使用-X标志和你想要的任何HTTP动词:
-X
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
本例还使用-d标志为PUT请求提供参数。
-d
下面是Martin C. Martin评论的PUT示例:
curl -T filename.txt http://www.example.com/dir/
对于-T(与--upload-file相同),curl将对HTTP使用PUT。
-T
--upload-file
在一行中,curl命令是:
curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI"
curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"
curl -X POST "YOUR_URI" -F 'file=@/file-path.csv'
你可以使用Chrome商店中的POSTMAN .应用程序来获得等效的cURL请求。这在编写更复杂的请求时尤其有用。
对于其他格式或不同客户端(如java, PHP)的请求,您可以查看下面的POSTMAN/comment。
curl -X PUT -d 'new_value' URL_PATH/key
在那里,
用于请求命令的X选项
选项,用于将数据放在远程url
URL_PATH远端url
New_value—我们要放入服务器键的值
我写这篇文章晚了,但我也有类似的要求。由于我的脚本是动态地构造curl请求的,所以我想在GET、POST和PUT之间使用类似的命令结构。
以下是对我有效的方法
对于把请求:
curl --request PUT --url http://localhost:8080/put --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
对于帖子请求:
curl --request POST --url http://localhost:8080/post --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
对于得到请求:
curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'