将 -X
标志与您想要的任何 HTTP 动词一起使用:
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
此示例还使用 -d
标志为您的 PUT 请求提供参数。
快速回答:
在一行中,curl 命令将是:
如果发送表单数据: curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI" 如果以 json 格式发送原始数据: curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI" 如果发送带有 POST 请求的文件: curl -X POST "YOUR_URI" -F 'file=@/file-path.csv'
替代解决方案:
您可以使用 Chrome 商店中的 POSTMAN 应用程序来获取等效的 cURL 请求。这在编写更复杂的请求时特别有用。
对于其他格式的请求或针对 java、PHP 等不同客户端的请求,您可以查看下面的 POSTMAN/comment。
https://i.stack.imgur.com/jPX0Z.png
Martin C. Martin 评论后的 PUT 示例:
curl -T filename.txt http://www.example.com/dir/
使用 -T
(与 --upload-file
相同)curl 将对 HTTP 使用 PUT。
-d
或 -F
指定参数,-T
不能替代 -X PUT
。 -T
通过 PUT 发送文件内容。要在重定向后实现 GET
,请添加参数 --location
curl -X PUT -d 'new_value' URL_PATH/key
在哪里,
X - 用于请求命令的选项
- 用于将数据放在远程 url 上的选项
URL_PATH - 远程 URL
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'
GET
,请添加参数--location