前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IntelliJ IDEA代码编辑器中的HTTP客户端

IntelliJ IDEA代码编辑器中的HTTP客户端

作者头像
wuweixiang
发布2018-07-24 18:51:23
7.1K0
发布2018-07-24 18:51:23
举报
文章被收录于专栏:吴伟祥吴伟祥

创建HTTP请求文件

您可以使用临时文件或HTTP请求类型的物理文件处理HTTP请求

Scratch文件可用于在开发期间测试HTTP请求。临时文件不存储在项目中,因此IntelliJ IDEA可以修改它并添加有关请求的其他信息。从临时文件执行HTTP请求时,响应输出文件的链接将添加到请求下方和请求历史记录文件的顶部。

创建HTTP请求临时文件

  • 按,Ctrl+Shift+Alt+Insert然后选择HTTP请求。

物理文件可用于记录,测试和验证HTTP请求。物理文件存储在项目中,IntelliJ IDEA不会修改它。从物理文件执行HTTP请求时,不会修改此文件。有关已执行请求以及响应输出文件链接的信息将添加到请求历史记录文件的顶部。

创建物理HTTP请求文件

  • 在“ 文件”菜单上,指向“ 新建”,然后单击“ HTTP请求”。

您可以使用Move refactoring(F6)将HTTP请求从划痕移动到物理文件,以及物理文件之间。

移动HTTP请求

  1. 在编辑器中,将插入符号放在要移动的请求上,并执行以下操作之一:
    • 在主菜单上或上下文菜单中,选择Refactor | 移动。
    • 按F6。
  2. 在打开的对话框中,单击
浏览
浏览

以选择文件或键入要将请求移动到的文件的完整路径。请注意,您可以指定不存在的文件的名称,在这种情况下,将自动创建具有提供的名称的新文件。

撰写HTTP请求

您可以使用以下常规语法直接在创建的HTTP请求文件中键入HTTP请求:

Method Request-URI HTTP-Version Header-field: Header-value Request-Body

IntelliJ IDEA使用编辑器格式的HTTP请求,它提供了一种创建,执行和存储有关HTTP请求的信息的简单方法。要了解其可能性的概述,您可以浏览HTTP请求集合,这是一小部分组合请求。

从HTTP请求集合中打开请求

  1. 单击
图标模块库
图标模块库

编辑器的右上角或选择“ 工具”| HTTP客户端| 在主菜单中打开HTTP请求集合。

  1. 在弹出菜单中,选择要打开的HTTP Requests集合:
打开http请求集合
打开http请求集合

要加快撰写HTTP请求的速度,请使用实时模板。例如,gtr扩展为简单的GET请求; mptr扩展为multipart/form-dataPOST请求。

GIF

例子

以下示例更详细地演示了编辑器格式功能中的HTTP请求

  • 您可以省略请求方法,并仅指定GET默认情况下要使用的URI 。注释行可以使用//或启动#// A basic request http://example.com/a/ 在Java上下文中,您可以使用代码完成 (Ctrl+Space)来根据定义的@Path注释指定URI 。@Path对Java代码中的注释的任何更改都将反映在建议列表的内容中。
  • 要标记请求的结尾并在同一文件中撰写另一个请求,请键入###// A basic request http://example.com/a/ ### // Longer request with method GET http://example.com:8080/api/html/get?id=123&value=content 将长请求分成几行可能更方便。请注意,在这种情况下,所有查询字符串行,但第一个必须缩进,例如: // Using line breaks with indent GET http://example.com:8080 /api /html /get ?id=123 &value=content
  • 要使用基本摘要式身份验证访问目标Web服务,您可以Authorization按如下方式生成标头:// Basic authentication GET http://example.com Authorization: Basic username password ### // Digest authentication GET http://example.com Authorization: Digest username password 与其他HTTP请求的元素类似,提供的usernamepassword可以通过环境变量进行参数化。
  • 要指定请求消息正文,请在其前面加一个空行。您可以提供请求正文或从文件中读取它。
    • 如果将Content-Type标题字段值设置为IntelliJ IDEA支持语言之一,则相应的语言片段将自动注入HTTP请求消息正文中。如果Content-Type未指定,则可以手动注入语言片段。有关更多信息,请参阅使用语言注入
    • 在Java上下文中,您可以使用代码完成 (Ctrl+Space)来Accept根据定义的@Produces注释指定头字段值。@Produces对Java代码中的注释的任何更改都将反映在建议列表的内容中。
    • 要从文件中读取请求正文,请键入<符号,然后键入文件的路径。

    // The request body is provided in place POST http://example.com:8080/api/html/post HTTP/1.1 Content-Type: application/json Cookie: key=first-value { "key" : "value", "list": [1, 2, 3] } ### // The request body is read from a file POST http://example.com:8080/api/html/post Content-Type: application/json < ./input.json

  • 您可以使用multipart/form-data内容类型执行HTTP请求。要将文件作为multipart/form-data消息的一部分发送,请filenameContent-Disposition标头中包含该参数。 POST http://example.com/api/upload HTTP/1.1 Content-Type: multipart/form-data; boundary=boundary --boundary Content-Disposition: form-data; name="first"; filename="input.txt" // The 'input.txt' file will be uploaded < ./input.txt --boundary Content-Disposition: form-data; name="second"; filename="input-second.txt" // A temporary 'input-second.txt' file with the 'Text' content will be created and uploaded Text --boundary Content-Disposition: form-data; name="third"; // The 'input.txt' file contents will be sent as plain text. < ./input.txt --boundary--

使用环境变量

在编写HTTP请求时,您可以使用环境变量对其元素进行参数化。例如,您可以使用{{host}}占位符,而不是在请求中明确提供主机名。然后在项目中定义一组包含所需主机定义的环境变量。执行请求时,IntelliJ IDEA将提供已定义环境的选择,在我们的示例中,主机将请求发送到:

run_request_in_env
run_request_in_env

查看 请求的结构在浏览器中打开请求时,所选环境将用作默认环境 。

环境变量在env环境文件中定义,必须存储在项目中。

  • 在休息-client.env.json或HTTP-client.env.json是打算要与项目一起分发常规文件。
  • 的其余-client.private.env.json或HTTP的client.private.env.json是私人可能包含敏感信息(密码,令牌,证书等)的文件。默认情况下,这些文件将添加到VCS忽略的文件列表中。私有文件中指定的变量值覆盖常规文件中包含的值。

变量可以包含主机,端口,路径,查询参数或值以及标头值的值。变量的名称只能包含字母,数字,下划线符号(_)或连字符号(-)。

run_request_in_env
run_request_in_env

使用响应处理程序脚本

响应处理程序脚本使您可以以编程方式“响应”收到的HTTP响应。这样可以自动处理接收的数据,并根据您指定的条件对其进行验证。响应处理程序脚本作为HTTP请求文件中的请求的一部分提供,并在收到响应后立即执行。要查看响应处理示例,请打开身份验证请求或测试响应 请求集合

您可以在适当的位置或通过引用外部文件将响应处理程序脚本插入到请求中。

要将脚本插入到位,>请将其作为前缀并将其括在{% %}

GET host/api/test > {% // Response Handler Script ... %}

要通过引用外部文件来插入脚本,请在其前面加上>

GET host/api/test > scripts/my-script.js

响应处理程序脚本使用JavaScript编写,编码帮助和文档由捆绑HTTP Response Handler库处理。对于就地脚本,此功能会自动启用。

在JavaScript文件中启用HTTP Response Handler编码帮助

  1. 在编辑器中打开文件。
  2. 在上下文菜单中,选择“ 使用JavaScript库” HTTP响应处理程序。

HTTP Response Handler库公开了两个用于组合响应处理程序脚本的对象:

  • client存储会话元数据,可以在脚本内部进行修改。在client您关闭IntelliJ IDEA之前,状态会一直保留。保存在每个变量client.globalvariable_name 是后续的HTTP请求的访问{{variable_name}}
  • response 保存有关收到的响应的信息:其内容类型,状态,响应正文等。

响应处理程序脚本可以包含测试,允许您将HTTP客户端用作测试框架。要创建测试,请调用该client.test(testName, function)方法。在测试中,您可以通过调用client.assert(condition, message)方法来断言条件,例如:

GET https://httpbin.org/status/200 > {% client.test("Request executed successfully", function() { client.assert(response.status === 200, "Response status is not 200"); }); %}

执行HTTP请求

  1. 如果要测试自己的Web服务,请确保已部署并运行。
  2. 请执行以下任何操作:
    • 单击要运行
    艺术品图标运行播放
    艺术品图标运行播放

    的请求旁边的编辑器左侧装订线中的“ 运行”图标。在弹出菜单中,选择“运行<请求名称>”。

    • 将插入符号放在要执行的请求上,按,然后Alt+Enter选择“ 运行<请求名称>意图操作”。

在浏览器中打开请求

您可以在IntelliJ IDEA设置的Web浏览器部分中指定的浏览器中打开HTTP请求。这可以是您的系统默认浏览器,也可以是您选择的浏览器。

  • 请执行以下任何操作:
    • 将插入符号放在请求的第一行,然后选择View | 在主菜单上跳至Source ,或按Ctrl+B或F4。
    • Ctrl+Click(对于Windows和Linux)或⌘+Click(对于macOS)请求行:
    open_request_in_browser
    open_request_in_browser

查看来自Web服务的响应

当您执行HTTP请求时,IntelliJ IDEA会自动将响应保存到.idea / httpRequests /目录下的单独文件中。您可以查看最近存储的50个响应,并使用请求历史记录导航到相应的文件。如果请求是从暂存文件执行的,则其响应输出的链接也会添加到原始请求之下:

response_results
response_results

查看收到的回复

  1. 切换到“ 运行工具”窗口,该窗口会在收到响应后立即自动打开。
  2. 默认情况下,服务器响应通过content-type字段以请求标头中指定的格式显示。要将响应转换为另一种格式,请使用“ 以HTML 格式查看”
icons fileTypes html
icons fileTypes html

,“以XML 格式查看”

icons fileTypes xml
icons fileTypes xml

或“以JSON 格式查看”

icons fileTypes json
icons fileTypes json

按钮。

  1. 作为响应处理程序脚本的一部分执行的测试结果(如果有)将显示在“ 运行”工具窗口的“ 测试”选项卡上。
http运行测试
http运行测试

在编辑器中打开响应文件

  • 将插入符号放在要打开的响应的链接上,然后选择“ 查看”| 在主菜单上跳至Source,或按Ctrl+B或F4。
  • Ctrl+Click(对于Windows和Linux)或⌘+Click(对于macOS)响应行:
open_response
open_response

比较临时文件中的响应

从临时文件执行请求时,响应输出文件的链接将添加到原始请求的下方。

  • 请执行以下任何操作:
    • 将插入符号放在响应文件的链接上。按,Alt+Enter然后选择与<响应名称>意图操作进行比较。
    • 单击
    ps_compare_responses_icon
    ps_compare_responses_icon

    左侧装订线中的图标,然后从弹出菜单中选择与<响应名称>进行比较:

    compare_responses_menu
    compare_responses_menu

比较请求历史记录中的响应

从物理文件执行请求时,响应输出的链接将添加到请求历史记录中

  1. 将插入符号放在响应文件的链接上。选择查看| 在主菜单上跳转到Source,或按Ctrl+B或F4在新编辑器选项卡中打开此文件。
  2. 选择查看| 在主菜单上与...比较,或按Ctrl+D。IntelliJ IDEA将提示您从httpRequests文件夹中打开响应文件。
  3. 选择要与当前文件进行比较的响应文件,然后单击“ 打开”。

这两个响应文件将在差异查看器中打开,允许您比较它们的内容:

compare_responses_diff
compare_responses_diff

查看请求历史记录

IntelliJ IDEA自动将最近执行的50个请求保存到http-requests-log.http文件中,该文件存储在.idea / httpRequests /目录下的项目级别。使用请求历史记录,您可以快速导航到特定响应并重新运行任何请求。如果从请求历史记录重新运行请求,则其执行信息和响应输出的链接将添加到请求历史记录文件的顶部。

ps_requests_history
ps_requests_history

打开请求历史记录

  • 单击
图标一般messageHistory
图标一般messageHistory

编辑器的右上角或选择“ 工具”| HTTP客户端| 在主菜单上显示HTTP请求历史记录。

配置代理设置

  1. 在“ 设置/首选项”对话框(Ctrl+Alt+S)中,选择“ 外观和行为”下的“ 系统设置”,然后选择“ HTTP代理”。
  2. 在打开的“ 代理”对话框中,指定以下内容:
    • 在代理主机和代理端口字段中输入代理主机名和端口号。
    • 要启用授权,请选中“ 使用授权”复选框,然后在相应字段中键入用户名和密码。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建HTTP请求文件
  • 创建HTTP请求临时文件
  • 创建物理HTTP请求文件
  • 移动HTTP请求
  • 撰写HTTP请求
  • 从HTTP请求集合中打开请求
    • 例子
      • 使用环境变量
      • 使用响应处理程序脚本
      • 在JavaScript文件中启用HTTP Response Handler编码帮助
      • 执行HTTP请求
      • 在浏览器中打开请求
      • 查看来自Web服务的响应
      • 查看收到的回复
      • 在编辑器中打开响应文件
      • 比较临时文件中的响应
      • 比较请求历史记录中的响应
      • 查看请求历史记录
      • 打开请求历史记录
      • 配置代理设置
      相关产品与服务
      文件存储
      文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档