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


当前回答

我写这篇文章晚了,但我也有类似的要求。由于我的脚本是动态地构造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'

其他回答

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

在那里,

用于请求命令的X选项

选项,用于将数据放在远程url

URL_PATH远端url

New_value—我们要放入服务器键的值

快速回答:

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

下面是Martin C. Martin评论的PUT示例:

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

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

我写这篇文章晚了,但我也有类似的要求。由于我的脚本是动态地构造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'

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

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

本例还使用-d标志为PUT请求提供参数。