首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用命令行curl测试web服务

如何使用命令行curl测试web服务
EN

Stack Overflow用户
提问于 2011-11-17 20:38:20
回答 3查看 134.8K关注 0票数 27

我正在构建一个web应用程序的web服务,我想要一个简单的工具来测试这一点,我正在开发。我已经尝试了一些firefox插件(Poster,'REST Client'),尽管这些插件工作得很好,但我无法上传文件。

此外,我更希望有一个命令行工具,我可以使用它轻松地为该web服务编写一组集成测试,并且可以将其作为示例发送给该web服务的使用者。

我知道curl可以解决这个问题,但我想举几个例子,特别是在身份验证(使用HTTP Basic)和文件上传方面。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-17 20:56:05

除了现有的答案之外,通常还需要格式化REST输出(通常JSON和XML缺少缩进)。试试这个:

代码语言:javascript
复制
$ curl https://api.twitter.com/1/help/configuration.xml  | xmllint --format -
$ curl https://api.twitter.com/1/help/configuration.json | python -mjson.tool

在Ubuntu 11.0.4/11.10上测试。

另一个问题是所需的内容类型。推特使用.xml/.json扩展,但更常用的REST需要Accept header:

代码语言:javascript
复制
$ curl -H "Accept: application/json"
票数 17
EN

Stack Overflow用户

发布于 2011-11-17 20:40:23

回答我自己的问题。

代码语言:javascript
复制
curl -X GET --basic --user username:password \
     https://www.example.com/mobile/resource

curl -X DELETE --basic --user username:password \
     https://www.example.com/mobile/resource

curl -X PUT --basic --user username:password -d 'param1_name=param1_value' \
     -d 'param2_name=param2_value' https://www.example.com/mobile/resource

POSTing一个文件和其他参数

代码语言:javascript
复制
curl -X POST -F 'param_name=@/filepath/filename' \
     -F 'extra_param_name=extra_param_value' --basic --user username:password \
     https://www.example.com/mobile/resource
票数 24
EN

Stack Overflow用户

发布于 2011-11-17 20:41:30

来自http://curl.haxx.se/docs/httpscripting.html上的文档:

HTTP身份验证

代码语言:javascript
复制
curl --user name:password http://www.example.com 

使用curl将文件放到HTTP服务器上:

代码语言:javascript
复制
curl --upload-file uploadfile http://www.example.com/receive.cgi

使用curl发送post数据:

代码语言:javascript
复制
curl --data "birthyear=1905&press=%20OK%20" http://www.example.com/when.cgi
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8167210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档