如何使用cURL来做RESTful接口的测试
更新日期:
- 基本的使用模板:
1curl -v [-D {本地cookie文件名}] -b {本地cookie文件名} [-H {HTTP报头}] [-X {PUT|DELETE|POST|GET}] [-d {@文件名|{数据}}] {URL地址} > {要保存的文件名}
其中,参数说明如下:
- -v 输出详细信息。(帮助记忆:verbose)
- -d POST数据,同时你也可能加
-X POST
来指定请求方法为POST。(帮助记忆:data) - -D 把HTTP报头的信息导出到一个本地文件中。(帮助记忆:dump)
- -b 传递cookie数据,可以是前面导出的cookie本地文件。
- -H 指定某个报头
- -X 指定请求方法(GET,POST,PUT,HEAD)
-
如果有验证,先登录,保存cookie
1curl -D {本地cookie文件名} [-d {数据}] {URL地址} > {要保存的文件名}如:
1curl -D cookie.txt -d "username=username&password=password" http://127.0.0.1:8080/app1/resources/user/login > loginResult.txt -
GET请求
1curl -v -b cookie.txt http://127.0.0.1:8080/app1/resources/itemsList > itemsList.txt -
POST请求一
1curl -v -H "Content-Type:application/json" -d '{"key1":"value1","key2":"value2","key3":"value3","key4":"value4"}' -b cookie.txt http://127.0.0.1:8080/app1/resources/item > newItem.txt -
POST请求二,使用JSON数据文件
1curl -v -H "Content-Type:application/json" -d @newItem.json -b cookie.txt http://127.0.0.1:8080/app1/resources/item > newItem.txt -
DELETE请求
1curl -v -X DELETE -b cookie.txt http://127.0.0.1:8080/app1/resources/item/item1 > deleteItem.txt -
PUT请求
1curl -v -b cookie.txt -H "Content-Type:application/json" -X PUT -d @updateItem.json http://127.0.0.1:8080/app1/resources/item/item1 > updateItem.txt
更多帮助信息可以使用man curl
来查看。