有时候会遇到一些需求:后端先写功能接口,前端后面再做,这样在灰度发版的时候怎么验证生产接口功能?
1、接口自动化
2、postman直接调用生产接口
3、curl命令测试接口
今天重点是方法3
一、curl命令的介绍:
Windows环境上有很多接口测试的工具,如soapui、postman等,但这些工具在linux平台上使用起来相对不那么便捷。
建立在linux平台的接口可通过curl工具实现。
工作中呢,我们通常都是通过xshell链接linux服务器的,那么对于接口的测试,可以直接再xshell上实现,链接对应的服务器,直接输入curl命令即可。
1.1 curl 常用的参数
-X/--request [GET|POST|PUT|DELETE|…] 使用指定的http method发出 http request
-H/--header 设定request里的header
-i/--include 显示response的header
-d/--data 设定 http parameters
-v/--verbose 輸出比较多的信息
-u/--user 使用者账号
-b/--cookie cookie 文件路径 使用cookie
1.2 curl命令也可以通过postman自动来生成
二、如何测试接口
1、测试get请求
$ curl http://www.linuxidc.com/login.cgi?user=test001&password=123456
2、测试post请求
$ curl -d "user=nickwolfe&password=12345" http://www.linuxidc.com/login.cgi
3、以json数据为例
方式一:发送磁盘上面的JSON文件(推荐)
curl -X POST -H 'content-type: application/json' -d @/apps/myjsonfile.txt http://192.168.129.xx/AntiRushServer/api/ActivityAntiRush
方式二:在命令行直接发送JSON结构数据
curl -H 'content-type: application/json' -X POST -d '{"accountType":"4","channel":"1","channelId":"YW_MMY","uid":"13154897541","phoneNumber":"13154897541","loginSource":"3","loginType":"1","userIp":"192.168.2.3","postTime":"14633fffffffffff81286","userAgent":"Windows NT","imei":"352600051025733","macAddress":"40:92:d4:cb:46:43","serialNumber":"123"}' http://192.168.129.xx/AntiRushServer/api/ActivityAntiRush
参考:https://blog.youkuaiyun.com/russ44/article/details/53308838
https://www.cnblogs.com/louiezhou/p/10600450.html
https://blog.youkuaiyun.com/h2604396739/article/details/83856711