2SIMPLE

我们已经回来

如何使用cURL测试RESTful Rails

RESTful Rails:Rails从1.2版本开始支持REST,在RAILS的新构架中,一切都是围绕资源进行的,用户可以使用浏览器访问这些资源,也可以通过REST访问,REST访问同样是通过现有的HTTP协议,可以创建、读取、更新或删除资源的记录。支持REST的Rails应用就是RESTful Rails,比如twitter,它的资源调用如此灵活,便是得益于REST。

cURL:一个命令行工具,能够发送HTTP get、put、post、delete到某个URL,并查看服务器响应(其实它能N多协议,测试中只用到HTTP)。*nix系统一般自带了cURL,windows用户可以自己下载一份

常用的测试命令有:

  • -X [action]:可以指定HTTP action,例如GET、POST、PUT、DELETE:
    curl -X DELETE http://localhost:3000/books/1

  • -d [parameter]:可以设置需要被提交的变量。使用-d之后cURL会自动执行HTTP POST action,如果要执行POST可以省略-X:
    curl -d “book[title]=Test” -d “book[copyright]=1998″ http://localhost:3000/books

  • -H [header]:可以通过这个参数设定HTTP header(Content-Type或者Accept)。“text/xml”对于测试基于XML的RESTful Rails是个特别有用的参数:
    curl -H “Accept: text/xml” http://localhost:3000/books/sections/1

合在一起,更新一条记录并且要求系统返回XML的测试语句:
curl -H “Accept: text/xml” -X PUT -d “book[title]=Testing Again” http://localhost:3000/books/1

翻译自How to Use cURL to Test RESTful Rails。正在做一个《秘密》MSN机器人的项目,需要测试REST接口,顺便也把这篇文章翻译了过来。

Written by Datou

五月 13th, 2007 at 9:22 上午

Leave a Reply