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进行接口测试相关推荐

  1. 如何在Linux系统上部署接口测试环境

    作为一名软件测试人员,部署测试环境是我们日常工作的一部分,今天就简单整理下接口测试环境部署的步骤,希望能够帮助到大家. 今天为大家整理的接口测试环境部署涉及到Tomcat,JDK和数据库.目前能够提供 ...

  2. Linux 使用curl认证深信服上网行为管理

    Linux 使用curl认证深信服上网行为管理 curl -H "Content-Type: application/x-www-form-urlencoded" -X POST ...

  3. Linux之curl命令用法指南学习

    Linux之curl命令用法指南学习 前言 常用参数 命令样例 其他 参考链接 前言 应用场景 工作中经常需要用到curl命令在测试或生产服务器中测试第三方接口,尤其是一些内外网接口.判断线上接口信息 ...

  4. 用linux的curl实现自动投票

    http://513394217.blog.163.com/blog/static/10979118620125733237998/ curl命令 ------------------- 给某个网址P ...

  5. Linux下 curl 代理设置注意事项--curl proxy

    参考:linux - performing HTTP requests with cURL (using PROXY) - Stack Overflow 如果你在bash中设置了代理,如 http_p ...

  6. ABAP的HTTP_GET和Linux的curl

    2019独角兽企业重金招聘Python工程师标准>>> curl是利用URL语法在命令行方式下工作的开源文件传输工具,广泛应用在Unix,多种Linux发行版中. 在Windows系 ...

  7. Linux之curl命令使用详解—网络故障定位(五)

    前言 该命令设计用于在没有用户交互的情况下工作. curl 是一个工具,用于传输来自服务器或者到服务器的数据.「向服务器传输数据或者获取来自服务器的数据」 可支持的协议有(DICT.FILE.FTP. ...

  8. linux链接curl库,Linux利用curl库快速开发http应用

    熟悉Linux系统的人不可能不知道curl的鼎鼎大名吧?curl是将http请求封装的相当好的库,详见http://curl.haxx.se/,我们可以利用curl实现快速http请求的开发. 在Li ...

  9. linux抓post命令,Linux 使用curl发起post请求的4个常用方式

    引言 cURL是一种命令行实用程序,用于使用一种受支持的协议,从远程服务器传输数据,或将数据传输到远程服务器.默认情况下,已安装在macOS和大多数Linux发行版上. 开发人员可以使用cURL来测试 ...

最新文章

  1. 北大网络教育计算机作业,北大网络教育(计算机专业)网络基础作业答案.doc
  2. 奇怪吸引子---QiChen
  3. 【CF】142 Div.1 B. Planes
  4. spark-1.5.2集群安装
  5. 年龄计算、工作表合并、高级筛选(三)
  6. Java静态方法与非静态方法的泛型
  7. 狗窝里的小日子 ...
  8. vim关于python的自动补全插件
  9. 基于Pandas的数据清洗
  10. 解决git克隆项目出现fatal无法访问‘https://github.com/xxx/xxx‘Unsupported proxy syntax in‘127.0.0.1:8118‘
  11. python怎么画散点图_用python画xy散点图
  12. java发送邮件带附件
  13. Gantt - attachEvent事件监听 - 多个参数事件(大于两个)
  14. 用手机怎么制作电子版证件照
  15. iOS 适配iPhone XR/XS/XS MAX
  16. windows server 2012 NIC组合---概念
  17. 自监督论文阅读笔记 Synergistic Self-supervised and Quantization Learning
  18. iis服务部署后根目录打不开txt
  19. linux双网卡双路由配置,linux配置双网卡双路由
  20. Java千问:Java语言各种数字的“非常规”写法你都会吗?

热门文章

  1. 利用FME PythonCaller调用7z解压压缩包
  2. 抵抗不了“刷礼物”的诱惑,下架的斗鱼要上市有点难
  3. 明日立秋 autumn begins,天气渐凉
  4. 两个向量组的秩相等说明什么_若两个向量组等价,它们的秩是否相等?
  5. 洛谷 P2530 [SHOI2001]化工厂装箱员 解题报告
  6. 【Ubuntu18.04系统开启防火墙】
  7. Mybatis分页实现
  8. downloadjs浏览器下载文件
  9. java 删除指定文件夹 以及文件下下面的所有文件
  10. Gogs生产环境搭建和数据迁移指南