HTTP 客户端 CLI
除了 WebStorm 插件外,HTTP 客户端还可 作为 CLI 工具使用。 它允许您在终端中运行 HTTP 请求,无需使用 IDE,或者将 HTTP 请求测试集成到 CI 工作流中。
安装 HTTP 客户端 CLI
您可以通过以下几种方式获取 HTTP 客户端 CLI:
若要将 HTTP 客户端 CLI 作为 Docker 镜像获取,请拉取该镜像:
docker pull jetbrains/intellij-http-client检查镜像中的版本:
docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client --version若要获取 ZIP 归档文件,请 从我们的网站下载或使用 cURL:
curl -f -L -o ijhttp.zip "https://jb.gg/ijhttp/latest"检查已安装的版本:
./ijhttp --version在 macOS 上,您也可以使用 Homebrew 安装:
brew install ijhttp检查已安装的版本:
ijhttp --version
运行 HTTP 请求
创建 .http 请求文件。 如果您希望一次运行多个请求,您的文件可以同时包含多个 HTTP、WebSocket 和 GraphQL 请求。
运行 HTTP 客户端 CLI:
将文件名传递给
./ijhttp命令,例如:./ijhttp myrequest.http使用
.http文件运行容器:docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client run.http该命令将在主机上的当前工作目录(
$PWD)与容器中的workdir目录之间创建绑定挂载。
命令输出包含已发送请求的信息、测试状态以及 环境变量。

更改日志级别
默认情况下,HTTP 客户端 CLI 仅输出已发送请求的信息和环境变量。 您可以使用 -L 参数更改日志级别。
使用
-L HEADERS记录请求和响应头信息。或使用
-L VERBOSE记录请求和响应头及正文信息。
将响应保存到文件
在 Docker 中解析 localhost
如果主机上运行了服务器,并在 Docker 容器中运行 HTTP 请求,可能需要将 localhost 解析为主机的 localhost。
使用
-D参数,例如:docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client -D run.http
这样,发往 localhost 的请求将会发送至主机的 localhost。
环境变量
与 WebStorm HTTP Client 中一样,您可以在 HTTP 请求中使用 环境变量。 您可以使用 HTTP 环境文件中的变量,也可以在 CLI 命令中直接传递变量值。
使用公共环境变量
使用
--env-file选项指定变量文件路径,使用--env指定环境名称。 例如:./ijhttp --env-file http-client.env.json --env dev rest-api.http或者,在
-V选项中传递变量值。 如果要传递多个变量,请重复使用-V选项:ijhttp -V host=localhost:8080 -V planet=tatooine rest-api.http
您可以组合使用这两个选项:
使用私有环境变量
使用
--private-env-file选项指定变量文件路径,使用--env指定环境名称。 例如:./ijhttp --private-env-file http-client.private.env.json --env dev rest-api.http您也可以在
-P选项中传递变量值。 如果要传递多个变量,请重复使用-P选项:ijhttp -P password=mypassword123 -P user=johndoe rest-api.http
您可以组合使用这两个选项:
测试请求
与 HTTP Client 插件中一样,您的 .http 文件可以包含使用 JavaScript ES6 编写的 响应处理器脚本。 您可以使用它通过 client.assert 方法测试 HTTP 请求。
使用响应处理脚本
在
.http文件中,从请求内容后空一行并编写包含在> {% ... %}中的响应处理器脚本。 例如:GET https://httpbin.org/get > {% client.test("Test status code", function() { client.assert(response.status === 200, "Response status is not 200"); }); %}
您还可以从单独的文件中引入测试。 该文件路径可以是绝对路径,也可以是相对于您的 .http 文件的相对路径:
以 JUnit XML 格式保存测试报告
HTTP Client 可提供 JUnit XML 格式的输出。
将
--report参数添加到ijhttp命令中,例如:./ijhttp test.http --report
HTTP Client CLI 会将报告保存在 report.xml 文件中,位于 报告 目录下。