当前位置: 首页 > 科技观察

如何使用Edge DevTools分析Web应用程序API_0

时间:2023-03-17 01:10:54 科技观察

如何使用EdgeDevTools分析Web应用程序API毕竟,如果可以向HTTP添加自定义有效负载,为什么还要开发新协议?当已经存在可扩展、灵活且安全的网络堆栈层时,无需在网络堆栈中创建新层。相反,我们可以充分利用HTTP中的GET和POST功能,并使用充分利用REST的API。是的,它过于简单化了,但实际上很少有场合需要全新的东西。HTTP是一种简化,也是一种混淆。如果我们使用的所有东西的底层都是HTTP,那我们为什么要构建可以处理这些API的测试和开发工具呢?虽然OpenAPIInitiative和其他组织在指定如何描述和实现基于HTTP的API方面走了很长一段路,但我们通常会使用不同工具的各种拼凑来构建和测试API调用。Postman可能是最流行和最熟悉的工具,但它独立于我们的开发环境和浏览器,因此很难确信我们在应用程序的上下文中设计和测试HTTP调用。EdgeDevTools的ChromiumEvolution微软在新的Edge浏览器中切换到Chromium使其有机会扩展其内置的开发工具,建立在自己的Trident和EdgeHTML开发工具历史以及Chromium开源项目中完成的工作之上。每个版本的浏览器稳定版和开发版都添加了新工具,在F12控制台和实验性徽标后面。这个实验性开发工具值得探索,因为它包含许多有用的工具,虽然还不是生产级的,但仍然可以帮助您解决代码中的主要问题。要启用它们,请使用F12启动DevTools面板,然后单击工具窗格或窗口右上角的“设置”图标。在“设置”屏幕上,选择“实验”,然后选择您要使用的新功能。最新的稳定版本Edge85包括几个实验性的新工具,包括急需的CSSGrid调试器。然而,最有趣的新功能让您可以在新的网络控制台中编辑和重放网络事件。结合网络控制台和RESTAPI乍一看,这种方法允许记录和分析HTTP请求,捕获最近的活动,并深入到超出常规HTTP响应代码的服务器响应。如果您正在处理RESTAPI并使用浏览器进行调试,您就会知道API不仅仅是一条200OK消息,尤其是当您通过REST代理或API代理工作时。知道充当API门面的HTTP服务器正在运行与知道API返回您期望的值是不同的。EdgeDevToolsNetworkConsole的真正优点在于,您可以使用它快速试用HTTPAPI,而无需编写一行代码。您可能已经使用Postman等工具完成了此操作,但它们不在浏览器中,最适合从头开始开发和测试API。NetworkConsole的工作原理类似,为您提供了一种快速试用APIURL的机制。构建和测试HTTP查询要测试API,请从F12打开一个空白的网络控制台,然后单击“创建请求”以打开HTTP查询构建器。您可以从常见的HTTP查询命令中进行选择,包括在利用REST的API中使用的常见POST和GET查询。首先使用通用的API浏览器(例如Microsoft的GraphExplorer或SwaggerPetStore)来验证您是否正确构建了请求,以及您是否了解如何使用身份验证令牌来处理受限API。查询完成后,该工具会显示响应的状态、查询花费的时间以及响应的大小。您可以下载响应JSON来测试解析器,或在控制台中预览它。内置的JSON预览解析响应并显示键/值对,以及响应文本、所有标头和cookie。本质上是一个简单的工具,但通常正是您所需要的。在这个阶段,最好将EdgeDevToolsNetworkConsole视为一种快速的临时测试工具。与服务器端性能测试工具结合使用时,重放记录的网络活动的能力会很有帮助。您可以将相同的流量发送到您的服务器以自动重现有问题的交互。在控制台中编辑调用的功能非常有用,因为您可以从页面内容中捕获API调用,然后将它们用作测试的基础,并根据需要调整内容。安全工程师会发现这种方法很方便。他们可以识别针对网站或服务的潜在攻击,然后试验不寻常的有效负载以探索故障模式。未来需要什么?对于这样一个替代Postman的工具,它确实需要更多的功能,比如能够导入OpenAPI定义。Swagger格式的JSON是从MicrosoftGraph等开放服务交换API信息的标准方式。如果您可以将这些定义导入NetworkConsole以选择要测试的API(以及OpenAPI自文档功能),开发人员可以使用浏览器浏览可用的API并在将它们导入开发环境之前查看定义。尝试。就目前而言,存在某种形式的导入函数,但不清楚集合或环境的含义,它们都不能用于OpenAPIJSON文件。微软正在努力通过一系列高质量的稳定版本来简化向新版Edge的过渡。很高兴看到DevTools团队对其进行创新,并为开发人员提供一组简单的浏览器内工具,让您深入了解代码的工作方式。新的网络控制台更进一步,可以处理您的API。遗憾的是,该工具还不能与VisualStudioCode的EdgeNetwork插件一起使用,但很容易看出未来的更新将如何支持您的本地API开发,帮助您在本地系统上构建而无需离开您的编辑器和测试RESTAPI.有了Code的Electron基础,微软就可以相对容易地添加这样的浏览器工具,以一种急需的、对开发人员友好的方式打破编辑器和运行时环境之间的障碍。原标题:AnalyzingwebapplicationAPIsusingEdgeDevTools,作者:SimonBisson