curl 命令-接口测试

在linux/Unix 为代表的os上, 对后端进行测试, 模拟连接请求都会书写脚本

场景:

在Linux 上接口测试工具有ab, restClient, postman等, 最常用的方法是curl进行简单测试

curl是非常方便的Rest 客户端, 可以很方便的完成 Rest API测试, 利用curl对http协议发送Get/Post/Delete/Put, 同时还可以携带header 来满足Rest API 需求的特定条件

 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

 

 

linux command line 的参数, 同一个功能常会有两个完全相同的参数, 一个是比较短的参数, 另一个是比较长的参数

比如:

参数-X 和--request 两个功能是一样的 curl -X POST http://www.example.com  or  curl --request POST http://www.example.com/  是完全相同的.

 

 

 

 

curl发送请求参数使用

设置header:

curl -i -H "Content-Type: application/json" http://www.baidu.com

 

设置HTTP parameter:

curl -X POST -d "param1:value1&param2=value2" 或者 -d "param1=value1" -d "param2=value2"

 

session认证:

curl -X GET 'http://www.baidu.com/' --header 'sessionid:sessionid值'

 

使用cookie:

curl -i --header "Content-Type:application/json" -X GET -b ~/cookie.txt http://www.baidu.com

 

测试接口上传文件:我们用 -F "file=@__FILE_PATH__" 的方式,传输文件即可, 如果想看到详细的请求信息,可以加上 -v 参数

curl -i -X POST -F 'file=@/User/uploadFile.txt' -H "token:abc123" -v

 

HTTP基本认证(HTTP Basic Authentication):

curl -i -u username:password http://www.baidu.com/api/foo'

 

 

知识点扩展:

curl post请求, 数据可以采用xml 或者json格式, 并且可以发送本地xml和json文件

 

curl -H 'Content-Type:application/json' -X POST -d '{"name":"zhangsan"}' http://www.baidu.com/

 

curl -X POST -H 'content-type: application/json'  -d /apps/jsonfile.json http://www.baidu.com/

 

curl -X POST -H 'content-type:application/xml'  -d '<?xml version="1.0" encoding="UTF-8"?><name>zhangsan</name>' http://www.baidu.com/

 

可能你会觉得这样使用命令很烦,但是,当你仅仅需要简单测试一个接口,进行一些轻量的操作的,是顺手在终端中使用一个命令来得方便,还是打开一个图形工具来得方便呢? 多数情况下服务端系统没有装图形化工具.

今日推荐阅读文章精选推荐

JMeter数据库操作

Jmeter接口测试-正则表达式

JMeter中文返回乱码

Jmeter接口测试-参数化

JMeter接口测试-基础

测试-感想

 

咨询工作加微信

扫描二维码

 

欢迎自荐和推荐, 需要的微信推送简历!

请猛戳下面二维码了解更多

posted @ 2019-03-26 15:29  Louiezhou  阅读(12885)  评论(0编辑  收藏  举报