linux使用curl进行接口测试
Windows/mac环境上有很多接口测试的工具,如soapui、postman等,但这些工具在linux平台上使用起来相对不那么便捷。
有时候当我们要测试一些外部接口时,当本地无权调用测试路径时,需要将测试建立在linux平台,除了封装简单的请求代码进行实现外,可通过curl工具实现
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、xml格式post请求
方式一:发送磁盘上面的xml文件(推荐)
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文件,后面为请求路径
方式二:在命令行直接发送xml结构数据
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
或者
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上双引号或单引号之间嵌套需要使用反斜杠 \ 进行转义
响应消息:
<?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>
4、json格式post请求
接口如下:
请求消息:
方式一:发送磁盘上面的JSON文件(推荐)
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文件,后面为请求路径
方式二:在命令行直接发送JSON结构数据
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
响应消息:
{"code":"4000","message":"参数错误:time的值不是UInt"}
五、webservice请求
方式一:发送磁盘上面的请求报文文件(推荐)
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为磁盘上面的请求报文文件,后面为请求路径
方式二:在命令行直接发送xml结构数据
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
响应消息
<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>
linux使用curl进行接口测试相关推荐
- 如何在Linux系统上部署接口测试环境
作为一名软件测试人员,部署测试环境是我们日常工作的一部分,今天就简单整理下接口测试环境部署的步骤,希望能够帮助到大家. 今天为大家整理的接口测试环境部署涉及到Tomcat,JDK和数据库.目前能够提供 ...
- Linux 使用curl认证深信服上网行为管理
Linux 使用curl认证深信服上网行为管理 curl -H "Content-Type: application/x-www-form-urlencoded" -X POST ...
- Linux之curl命令用法指南学习
Linux之curl命令用法指南学习 前言 常用参数 命令样例 其他 参考链接 前言 应用场景 工作中经常需要用到curl命令在测试或生产服务器中测试第三方接口,尤其是一些内外网接口.判断线上接口信息 ...
- 用linux的curl实现自动投票
http://513394217.blog.163.com/blog/static/10979118620125733237998/ curl命令 ------------------- 给某个网址P ...
- Linux下 curl 代理设置注意事项--curl proxy
参考:linux - performing HTTP requests with cURL (using PROXY) - Stack Overflow 如果你在bash中设置了代理,如 http_p ...
- ABAP的HTTP_GET和Linux的curl
2019独角兽企业重金招聘Python工程师标准>>> curl是利用URL语法在命令行方式下工作的开源文件传输工具,广泛应用在Unix,多种Linux发行版中. 在Windows系 ...
- Linux之curl命令使用详解—网络故障定位(五)
前言 该命令设计用于在没有用户交互的情况下工作. curl 是一个工具,用于传输来自服务器或者到服务器的数据.「向服务器传输数据或者获取来自服务器的数据」 可支持的协议有(DICT.FILE.FTP. ...
- linux链接curl库,Linux利用curl库快速开发http应用
熟悉Linux系统的人不可能不知道curl的鼎鼎大名吧?curl是将http请求封装的相当好的库,详见http://curl.haxx.se/,我们可以利用curl实现快速http请求的开发. 在Li ...
- linux抓post命令,Linux 使用curl发起post请求的4个常用方式
引言 cURL是一种命令行实用程序,用于使用一种受支持的协议,从远程服务器传输数据,或将数据传输到远程服务器.默认情况下,已安装在macOS和大多数Linux发行版上. 开发人员可以使用cURL来测试 ...
最新文章
- 北大网络教育计算机作业,北大网络教育(计算机专业)网络基础作业答案.doc
- 奇怪吸引子---QiChen
- 【CF】142 Div.1 B. Planes
- spark-1.5.2集群安装
- 年龄计算、工作表合并、高级筛选(三)
- Java静态方法与非静态方法的泛型
- 狗窝里的小日子 ...
- vim关于python的自动补全插件
- 基于Pandas的数据清洗
- 解决git克隆项目出现fatal无法访问‘https://github.com/xxx/xxx‘Unsupported proxy syntax in‘127.0.0.1:8118‘
- python怎么画散点图_用python画xy散点图
- java发送邮件带附件
- Gantt - attachEvent事件监听 - 多个参数事件(大于两个)
- 用手机怎么制作电子版证件照
- iOS 适配iPhone XR/XS/XS MAX
- windows server 2012 NIC组合---概念
- 自监督论文阅读笔记 Synergistic Self-supervised and Quantization Learning
- iis服务部署后根目录打不开txt
- linux双网卡双路由配置,linux配置双网卡双路由
- Java千问:Java语言各种数字的“非常规”写法你都会吗?