【发布时间】:2012-11-26 18:13:38
【问题描述】:
如何使用 cURL 测试 RESTful PUT(或 DELETE)方法?
【问题讨论】:
如何使用 cURL 测试 RESTful PUT(或 DELETE)方法?
【问题讨论】:
将 -X 标志与您想要的任何 HTTP 动词一起使用:
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
此示例还使用 -d 标志为您的 PUT 请求提供参数。
【讨论】:
GET,添加参数--location
在一行中,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。
【讨论】:
Martin C. Martin 评论之后的 PUT 示例:
curl -T filename.txt http://www.example.com/dir/
使用 -T(与 --upload-file 相同)curl 将使用 PUT 进行 HTTP。
【讨论】:
-d 或-F 指定参数,-T 不能替代-X PUT。 -T 通过 PUT 发送文件的内容。要实现重定向后的GET,添加参数--location
curl -X PUT -d 'new_value' URL_PATH/key
在哪里,
X - 用于请求命令的选项
d - 用于将数据放在远程 url 上的选项
URL_PATH - 远程网址
new_value - 我们要放入服务器密钥的值
【讨论】:
我迟到了这个帖子,但我也有类似的要求。由于我的脚本是动态构建 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'
【讨论】: