我正在为一个Web应用程序构建一个Web服务,我想在开发过程中使用一个简单的工具来测试这个服务。我尝试过一些Firefox插件(Poster,REST Client),尽管这些插件工作正常,但我无法使用它们上传文件。
此外,我更希望有一个命令行工具,可以使用它轻松地为这个Web服务编写一组集成测试,并将其作为示例发送给这个Web服务的消费者。
我知道**curl
**可以解决这个问题,但我想举几个例子,特别是关于身份验证(使用HTTP Basic)和文件上传的例子。
我正在为一个Web应用程序构建一个Web服务,我想在开发过程中使用一个简单的工具来测试这个服务。我尝试过一些Firefox插件(Poster,REST Client),尽管这些插件工作正常,但我无法使用它们上传文件。
此外,我更希望有一个命令行工具,可以使用它轻松地为这个Web服务编写一组集成测试,并将其作为示例发送给这个Web服务的消费者。
我知道**curl
**可以解决这个问题,但我想举几个例子,特别是关于身份验证(使用HTTP Basic)和文件上传的例子。
4条答案
按热度按时间avkwfej41#
回答我自己的问题。
POST文件和附加参数
oxosxuxt2#
除了现有的答案,通常还需要格式化REST输出(通常JSON和XML没有缩进)。试试这个:
在Ubuntu 11.0.4/11.10上测试。
另一个问题是所需的内容类型。Twitter使用
.xml
/.json
扩展,但更惯用的REST将需要Accept
头:9w11ddsr3#
从http://curl.haxx.se/docs/httpscripting.html的文档中:
HTTP身份验证
使用curl将文件放到HTTP服务器上:
使用curl发送post数据:
5tmbdcev4#
我使用
hurl
已经有一段时间了。它允许通过定义HTTP请求(包括基本的身份验证和请求体)和AssertHTTP响应的特定/预期属性来编写简单的测试用例。它甚至可以从响应中捕获值并将其馈送到后续(链式)请求中。有关详细信息,请参阅https://hurl.dev/。