CLion 2025.2 Help

HTTP 客户端 CLI

除 CLion 插件外,HTTP 客户端还可以用 作一个 CLI 工具。 它允许您在终端中运行 HTTP 请求,而无需使用 IDE,或将 HTTP 请求测试包含在您的 CI 工作流中。

安装 HTTP 客户端 CLI

您可以通过以下方式获取 HTTP Client CLI:

  • 要以 Docker 镜像 的形式获取 HTTP 客户端 CLI,请拉取镜像:

    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 请求

  1. 创建 .http 请求文件。 您的文件可以包含多个 HTTP、WebSocket 和 GraphQL 请求,如果您想一次运行所有请求。

  2. 运行 HTTP 客户端 CLI:

    将文件名传递给 ./ijhttp 命令,例如:

    ./ijhttp myrequest.http

    使用 .http 文件运行容器:

    docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client run.http

    此命令在主机上的当前工作目录($PWD )与容器中的 workdir 目录之间创建一个绑定挂载。

命令输出包含已发送的请求信息、测试状态以及 environment variables

运行 HTTP 客户端 CLI

更改日志级别

默认情况下,HTTP 客户端 CLI 只输出已发送请求和环境变量的信息。 您可以使用 -L 选项更改日志级别。

  • 请使用 -L HEADERS 记录请求和响应头信息。

  • 或者使用 -L VERBOSE 来记录请求和响应头部及主体的信息。

将响应保存到文件中

  • 如果您想将 HTTP 响应保存到单独的文件中,请在您的 .http 文件中添加 >> 或者 >>! (另请参见 重定向响应)。 例如:

    GET https://example.org/get >> myFolder/myFile.json
  • 如果您想从 HTTP 客户端 CLI 保存输出,请使用标准终端命令,例如 >。 例如:

    ./ijhttp rest-api.http > yourFile.txt

    保存在 HTTP 客户端 CLI 输出中的详细级别取决于指定的 日志级别

解决 Docker 中的 localhost

如果您的主机上运行着服务器,并且在 Docker 容器中运行 HTTP 请求,您可能需要将 localhost 解析为主机的 localhost。

  • 请使用 -D 选项,例如:

    docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client -D run.http

这样,发送给 localhost 的请求将会被发送到您主机的 localhost。

环境变量

就像在 CLion HTTP 客户端中一样,您可以在您的 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

您可以结合两种选项:

./ijhttp --env-file http-client.env.json --env dev -V host=localhost:8080 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

您可以结合两种选项:

./ijhttp --private-env-file http-client.private.env.json --env dev -P password=mypassword123 rest-api.http

测试请求

正如在 HTTP 客户端 插件中,您的 .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 文件的相对路径:

GET https://httpbin.org/get > /path/to/responseHandler.js

以 JUnit XML 格式保存测试报告

HTTP 客户端 能够以 JUnit XML 格式提供输出。

  • --report 参数添加到 ijhttp 命令,例如:

    ./ijhttp test.http --report

HTTP 客户端 CLI 会将报告保存在 report.xml 文件中,位于 报告 目录下。

最后修改日期: 2025年 9月 26日