模拟假的404、500状态码以检查前端应用行为

6

我想模拟后端返回一个假的404状态码,以查看我的网站会如何表现。

我不想在代码中模拟虚假响应状态,我想使用一些工具。

因为有时我想在版本为x的生产环境上进行测试,我不想浪费时间下载此代码并检查是否正常工作。

只需简单地模拟响应头状态码,例如设置为404以进行快速检查。

我尝试使用软件,例如Requestly - chrome扩展程序

并将其配置为: enter image description here

修改响应头状态码,将值设置为404,适用于google.com网站。

但是,当我打开google.com网站时,我得到的状态是200:

enter image description here

您知道如何更改给定请求的状态码吗?也许使用不同的软件可以实现?

3个回答

14

Status 不是 HTTP 响应头。 Status Code 是一个 HTTP 响应代码,Chrome 不允许修改请求的响应代码。有两种使用 Requestly 解决此问题的方法:

一步解决方案:使用 Requestly 桌面应用程序(可靠且保证有效)

您可以使用任何 MITM 代理拦截请求并模拟状态码。但是,根据我的经验,我将解释如何使用Requestly 桌面应用程序

  1. 安装 Requestly 桌面应用程序,
  2. 转到规则选项卡,然后单击新规则
  3. 选择修改响应
  4. 定义确切的 URL(或模式),并定义状态代码。就这样。

截图

进入图像描述

演示

https://www.youtube.com/watch?v=nLcIZGmMAtQ&ab_channel=Requestly

使用 Requestly 浏览器扩展程序 (两步流程,在大多数网站中应该可以工作,但可能会有一些CORS问题)

  1. 安装Requestly
  2. 使用Requestly Mock Server创建一个新的模拟服务器,以返回400或404状态码
  3. 使用Requestly设置一个重定向规则,将您的原始请求重定向到模拟请求的URL地址

这里有几个使用该扩展程序的示例

  1. 在Twitter Create Tweet API中模拟500错误
  2. 在BlinkIt Search API中模拟404错误

页脚注释

基于桌面应用程序的解决方案更加可靠且保证能够正常工作,而基于浏览器扩展程序的解决方案存在技术限制和可能出现一些CORS问题,因此建议选择第一个解决方案。

PS - 我是Requestly的创建者(并仍在不断发展中)


非常感谢,就是这样! - Patryk Janik
很抱歉,Chrome浏览器不能直接跳转到重定向后的网站,而是使用两个请求。在Chrome开发者工具中,第一个和第二个请求的标头显示为“Provisional headers are shown”。 - Patryk Janik
@PatrykJanik 很难在没有示例的情况下得到答案。您可以联系 requestly.extension@gmail.com 并提供您设置的规则和正在测试的网站的示例。我会进一步研究它。 - Sachin Jain
1
@T8y,这个方法可行。谢谢!如Requestly文档所述,在使用等号运算符时,我在请求URL末尾添加了一个斜杠(/),但在我的情况下似乎不需要它,匹配可以在没有斜杠的情况下进行,而在有斜杠的情况下则无法匹配。 - Nafeez Quraishi
添加了一步解决方案,使用桌面应用程序以及屏幕截图和演示。 - Sachin Jain
Requestly现在允许在浏览器扩展中覆盖状态码,如果它是通过XMLHttpRequest或fetch方法触发的API请求。抄送:@PatrykJanik - Vaibhav Nigam

1

0
在开发工具中的Network面板上,右键点击资源,选择“阻止请求URL”或“阻止请求域名”。
这对您的使用有帮助吗?

3
这对我来说不够 :( - Patryk Janik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接