PyCharm 2025.3 Help

HTTP 客户端 CLI

除了 PyCharm 插件外,HTTP 客户端也可 作为 CLI 工具 使用。 它允许您在终端中运行 HTTP 请求,无需 IDE,或将 HTTP 请求测试纳入 CI 工作流。 HTTP 客户端 CLI 无需您持有 Pro 许可证。

安装 HTTP 客户端 CLI

您可以通过以下方式获取 HTTP 客户端 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 目录之间创建一个绑定挂载。

命令输出包含已发送请求、测试状态以及 环境变量 的信息。

运行 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。

环境变量

与 PyCharm 中的 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年 12月 2日