命令行控的最爱:cURL

cURL是一个很强大的支持各种协议的文件传输工具,用它来进行RESTful Web Services的测试简直是小菜一碟。这个工具基本上类Unix操作系统(各种Linux、Mac OS X)都自带了,而Windows用户就得去额外下载了。

cURL的命令参数非常多,一般用于RESTful Web Services测试要用到下面四种参数:

  • -d/–data <data>:POST数据内容
  • -X/–request <command>:指定请求的方法(使用-d时就自动设为POST了)
  • -H/–header <line>:设定header信息
  • -I/–head:只显示返回的HTTP头信息

一个最简单的例子,资源的获取,不需要强行指定GET方法,直接在curl后面跟上URL即可:

[code light=”true”]
Clippit@Clippit-PC ~
$ curl http://dayanjia.com/api/user/101250001/
{"id":"student1","name":"\u5b66\u751f\u4e00","num":"101250001",
"grade":"20101","courses":[{"id":1,"name":"\u8bfe\u7a0b\u4e00",
"active":false,"identity":0,"instructors":[{"id":"teacher1","na
me":"\u8001\u5e08\u4e00"}]},{"id":2,"name":"\u8bfe\u7a0b\u4e8c"
,"active":true,"identity":0,"instructors":[{"id":"teacher2","na
me":"\u8001\u5e08\u4e8c"}]},{"id":3,"name":"\u8bfe\u7a0b\u4e09"
,"active":true,"identity":0,"instructors":[{"id":"teacher3","na
me":"\u8001\u5e08\u4e09"}]}]}
[/code]

再看删除远程的一条记录,并返回HTTP头检查操作是否成功:

[code light=”true”]
Clippit@Clippit-PC ~
$ curl -I -X DELETE http://dayanjia.com/api/course/1/
HTTP/1.1 200 OK
Date: Thu, 12 Aug 2010 16:50:46 GMT
Server: LiteSpeed
Connection: close
X-Powered-By: PHP/5.2.14
Content-Type: text/html
Content-Length: 0
[/code]

需要指出的是,如果使用-d或者其他某些参数就不能直接看到返回的HTTP头了,即不能将-d和-I同时使用。解决的办法是采用-D/--dump-header参数并指定一个文件名,将header的数据保存下来查看。

浏览器控的最爱:各种插件

既然普通的浏览器不支持除了GET和POST以外的操作,查看和发送HTTP header都很苦难,那就让插件来扩展它的功能吧!让人们不离开浏览器就能进行各种测试,也是一种非常方便的选择。如果你喜欢下面介绍的插件,不妨到相应的页面上给它们评星以支持作者的劳动。

Chrome下有一个Simple REST Client插件,提供了一个简单的表单进行各种HTTP操作,并可以看到返回的信息。

Chrome下的插件显得有些寒碜,那么同样深受开发者喜爱的Firefox也有一款名为RESTClient的插件,这款插件由国人开发,功能上支持Basic和OAuth的登录header发送,并且对于返回的XML数据还可以高亮显示。

咖啡控的最爱:RESTClient

这里的咖啡是什么,你懂的。名字同样很朴素,这是一个用Java写的测试小工具,项目主页上提到它有命令行和GUI两种版本。为了方便操作我们选择GUI版本来看看。既然是一款软件,显然就比刚才介绍的浏览器插件功能更加强大。它支持应答正文的JSON和XML缩排和高亮,还可以一键搭建一个RESTful服务端,另外还提供了单元测试的功能。介绍的三种工具中,我最喜欢的还是这款了,尤其是它的缩排高亮功能非常实用,方便查看。

其实,除了以下常用的插件或者工具外,自己用python等些脚本实现http也是不错的选择

api test  :

chrome  postman

chrome:  
           Simple REST Client
           Advanced Rest  Client
firefox:
            Rest Client
 
Script:
           python script

RESTful Web Services测试工具推荐的更多相关文章

  1. 就是这么简单!使用Rest-assured 测试Restful Web Services

    使用 Rest-assured 测试 Restful Web Services 转载注明出处: http://www.cnblogs.com/wade-xu/p/4298819.html 这里向大家介 ...

  2. 推荐一个linux下的web压力测试工具神器webbench

    推荐一个linux下的web压力测试工具神器webbench2014-04-30 09:35:29   来源:   评论:0 点击:880 用多了apache的ab工具之后你就会发现ab存在很多问题, ...

  3. 基于Spring设计并实现RESTful Web Services(转)

    基于Spring设计并实现RESTful Web Services 在本教程中,你将会使用Spring来创建一个具有生产力的RESTful网络服务. 为什么用RESTful网络服务? 从和Amazon ...

  4. 使用 Spring 3 来创建 RESTful Web Services

    来源于:https://www.ibm.com/developerworks/cn/web/wa-spring3webserv/ 在 Java™ 中,您可以使用以下几种方法来创建 RESTful We ...

  5. 使用 Spring 3 来创建 RESTful Web Services(转)

    使用 Spring 3 来创建 RESTful Web Services 在 Java™ 中,您可以使用以下几种方法来创建 RESTful Web Service:使用 JSR 311(311)及其参 ...

  6. Spring 3 来创建 RESTful Web Services

    Spring 3 创建 RESTful Web Services 在 Java™ 中,您可以使用以下几种方法来创建 RESTful Web Service:使用 JSR 311(311)及其参考实现 ...

  7. .NET RESTful Web Services入门

    很早之前看到过RESTful Web Services,并未在意,也没找相关资料进行学习.今天偶尔有一机会,就找了点资料进行研究,发现RESTful真是“简约而不简单”.下面用示例来说明: 1 项目结 ...

  8. RESTful Web Services初探

    RESTful Web Services初探 作者:杜刚 近几年,RESTful Web Services渐渐开始流行,大量用于解决异构系统间的通信问题.很多网站和应用提供的API,都是基于RESTf ...

  9. 【转】RESTful Web Services初探

    近几年,RESTful Web Services渐渐开始流行,大量用于解决异构系统间的通信问题.很多网站和应用提供的API,都是基于RESTful风格的Web Services,比较著名的包括Twit ...

随机推荐

  1. easyui中对于dialog页面传值的接收

    dialog的功能是将B页面嵌入至A页面,这样,A页面作为B页面的父容器,所有的元素均可以被B页面访问 那么问题来了:我怎么获取B页面的链接参数呢? 其实很简单,只要找到B页面的存放容器即可: 代码如 ...

  2. 如何让div中的内容垂直居中

    虽然Div布局已经基本上取代了表格布局,但表格布局和Div布局仍然各有千秋,互有长处.比如表格布局中的垂直居中就是Div布局的一大弱项,不过好在千变万化的CSS可以灵活运用,可以制作出准垂直居中效果, ...

  3. [redis] Redis 配置文件置参数详解

    ################################ 基础配置 ################################# #daemonize no 默认情况下, redis 不 ...

  4. 设置JVM参数,查看堆大小

    1.在eclipse设置JVM参数     打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效,也就是在eclipse中运行的java程序)编辑当前 ...

  5. Shell基础:Shell和Mysql交互

    通过命令行和Mysql交互 [root]#mysql -uroot -p123 -e "show databases"   -e: execute: 执行数据库命令 通过脚本和数据 ...

  6. poj-------(2240)Arbitrage(最短路)

    Arbitrage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15640   Accepted: 6563 Descri ...

  7. MYSQL的三种注释

    #CREATE SCHEMA `paw-jj` DEFAULT CHARACTER SET utf8 ; -- select * from vrv_paw_terminalinfo /*  selec ...

  8. 关于C#迭代器

    >1 IEnumerator与IEnumerable IEnumerator与IEnumerable两个接口是用于实现迭代器的接品只要实现了IEnumerable就可以用foreach,linq ...

  9. JavaScript实现冒泡排序、快速排序、插入排序

    JavaScript实现冒泡排序.快速排序.插入排序 时间:2014-01-09 18:05:51  来源:  作者:胡晗 冒泡排序的基本思想:所谓冒泡就是泡泡一个一个往上冒,让体积最轻的泡泡浮在最上 ...

  10. CSS垂直居中对齐

    用CSS有多种方法实现垂直居中对齐.如果已知外部div的高度,不管是否知道内部div的高度,垂直居中实现起来很简单,但如果内部div高度是变量,如文字,垂直居中实现起来就比较复杂了,很可能需要使用ha ...