linux使用curl进行接口测试

Posted 松勤软件学院

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux使用curl进行接口测试相关的知识,希望对你有一定的参考价值。

    Windows/mac环境上有很多接口测试的工具,如soapui、postman等,但这些工具在linux平台上使用起来相对不那么便捷。

    有时候当我们要测试一些外部接口时,当本地无权调用测试路径时,需要将测试建立在linux平台,除了封装简单的请求代码进行实现外,可通过curl工具实现。

linux使用curl进行接口测试1、测试get请求

$ curl http://www.linuxidc.com/login.cgi?user=test001&password=123456

linux使用curl进行接口测试2、测试post请求

$ curl -d "user=nickwolfe&password=12345" http://www.linuxidc.com/login.cgi

linux使用curl进行接口测试3、xml格式post请求

接口如下:

linux使用curl进行接口测试

请求方式:

linux使用curl进行接口测试方式一:发送磁盘上面的xml文件(推荐)

[plain] view plain copy

  1. root [ /apps ]$ curl -X POST -H 'content-type: application/xml'  -d @/apps/myxmlfile.txt http://172.19.219.xx:8081/csp/faq/actDiaUserInfo.action  

ps:其中myxmlfile.txt为磁盘上面的xml文件,后面为请求路径

linux使用curl进行接口测试

linux使用curl进行接口测试方式二:在命令行直接发送xml结构数据

[plain] view plain copy

  1. root [ /apps ]$ curl -H 'content-type: application/xml' -X POST -d '<?xml version="1.0" encoding="UTF-8"?><userinfoReq><subsNumber>13814528620</subsNumber><type>3</type></userinfoReq>' http://172.19.219.xx:8081/csp/faq/actDiaUserInfo.action  

或者


[plain] view plain copy

  1. root [ /apps ]$ echo '<?xml version="1.0" encoding="UTF-8"?><userinfoReq><subsNumber>13814528620</subsNumber><type>3</type></userinfoReq>'|curl -X POST -H'Content-type:text/xm' -d @- http://172.19.xx.xx:8081/csp/faq/actDiaUserInfo.action  


ps:其中<?xml version...>就是要post的xml 文件,后面是请求路径,linux上双引号或单引号之间嵌套需要使用反斜杠 \ 进行转义

响应消息:

[plain] view plain copy

  1. <?xml version="1.0" encoding="utf-8"?><result><result_code>0</result_code><result_text>success</result_text><getUserinfoRsp><userInfo><identityID>1117384802</identityID><phone>13814528620</phone><email>13814528620@139.com</email><accountID></accountID><province>江苏</province><city>南京</city><passId>7775637869243</passId></userInfo></getUserinfoRsp></result>  

linux使用curl进行接口测试4、json格式post请求

接口如下:
linux使用curl进行接口测试
请求消息:

linux使用curl进行接口测试方式一:发送磁盘上面的JSON文件(推荐)

[plain] view plain copy

  1. root [ /apps ]$ curl -X POST -H 'content-type: application/json'  -d @/apps/myjsonfile.txt http://192.168.129.xx/AntiRushServer/api/ActivityAntiRush  

ps:其中myjsonfile.txt为磁盘上面的JSON文件,后面为请求路径
linux使用curl进行接口测试

linux使用curl进行接口测试方式二:在命令行直接发送JSON结构数据

[plain] view plain copy

  1. root [ ~ ]$ 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  

响应消息:

[plain] view plain copy

  1. {"code":"4000","message":"参数错误:time的值不是UInt"}  

linux使用curl进行接口测试
五、webservice请求

接口如下:

linux使用curl进行接口测试

linux使用curl进行接口测试方式一:发送磁盘上面的请求报文文件(推荐)

[plain] view plain copy

  1. root [ /apps ]$ curl -H 'Content-Type: text/xml;charset=UTF-8;SOAPAction:""' -d @/apps/mysoapfile.xml http://172.18.173.xx:8085/csp-magent-client/madapterservices/madapter/lmCountAccessor  

ps:其中myjsonfile.txt为磁盘上面的请求报文文件,后面为请求路径
linux使用curl进行接口测试

方式二:在命令行直接发送xml结构数据

[plain] view plain copy

  1.   

[plain] view plain copy

  1. root [ /apps ]$ curl -H 'content-type: application/xml' -d '<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.accessor.madapter.csp.huawei.com"><soapenv:Header /><soapenv:Body><ser:leaveMessageCount><ser:in0><![CDATA[20161011160516XdznbN]]></ser:in0><ser:in1><![CDATA[1600106496388382726]]></ser:in1><ser:in2><![CDATA[14]]></ser:in2><ser:in3><![CDATA[<extendParams><channelid>1600</channelid><servicetype></servicetype><appid></appid><usertype>10</usertype><userid>6496388382726</userid><msisdn>13814528620</msisdn><email></email><account></account><nickname></nickname><questionType></questionType></extendParams>]]></ser:in3></ser:leaveMessageCount></soapenv:Body></soapenv:Envelope>' http://172.18.173.xx:8085/csp-magent-client/madapterservices/madapter/lmCountAccessor  

响应消息

[plain] view plain copy

  1. <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><ns1:leaveMessageCountResponse xmlns:ns1="http://service.accessor.madapter.csp.huawei.com"><ns1:out>8</ns1:out></ns1:leaveMessageCountResponse></soap:Body></soap:Envelope>  



软件测试免费视频观看链接:https://ke.qq.com/course/159919#tuin=ba4122 

松勤网:www.songqinnet.com


打开微信扫一扫  关注松勤软件学院


以上是关于linux使用curl进行接口测试的主要内容,如果未能解决你的问题,请参考以下文章

linux-curl restful接口测试结果格式化

使用curl命令测试端口

怎么判断curl调用接口返回成功:响应码

前端测试集

前端测试集

前端测试集