47

我有一个与几个不同 API 通信的单页应用程序,我希望限制对特定 API 的请求以进行测试。是否可以使用 Chrome DevTools 通过网络节流来指定域?

我知道您可以在 Chrome 中限制网络并通过“网络条件”选项卡模拟慢速连接(例如常规 3G 连接),但这会影响所有请求。我希望只影响一个特定的 API 来模拟其他服务真的很慢但所有其他服务都很好的情况。

4

5 回答 5

24

如果您可以更改 URL,则有一个站点http://www.deelay.me/是 HTTP 资源的延迟代理。例如,如果您希望 URL http://example.com/example延迟 5 秒,请将其更改为http://www.deelay.me/5000/http://example.com/example

于 2018-04-30T22:12:17.597 回答
15

不,Chrome DevTools 网络限制不允许您进行选择性限制。

如果你想模拟特定的服务很慢并且你让它们在你的本地机器上运行,我会推荐安装一个限制代理(例如Charles 代理)。

如果部署了这些服务并且您仍然想模拟缓慢的响应,我会尝试修改/etc/hosts以指向本地 charles 代理。

于 2016-02-16T21:43:00.157 回答
9

现在有人为此构建了一个 chrome 扩展 - URL Throttler

于 2020-10-22T09:51:06.737 回答
1

Chrome 开发者工具不允许选择性地限制网络请求。我发现这个 reddit 帖子 - https://www.reddit.com/r/chrome/comments/ogun3w/limitations_of_chrome_devtools_throttle_network/ 涵盖了 3 种延迟网络请求的方法。

  1. 使用浏览器 DevTools 网络节流功能节流网络流量
  2. 延迟响应并使用浏览器扩展将您的实际请求重定向到这些公共 API 的公开可用 API
  3. Chrome 扩展程序增加了网络请求的实际延迟

本文很好地解释了所有这三种方法 - https://requestly.io/blog/2021/07/02/adding-delay-to-network-requests/

为了进行特定于域的请求限制,您可以使用方法 3。您可以配置Requestly Delay Network Request规则以添加延迟。

您可以按照以下步骤

  1. 从https://requestly.io获取请求
  2. 打开https://app.requestly.io/rules
  3. 创建规则并选择Delay Request规则类型
  4. 像这样配置延迟请求规则

在此处输入图像描述

注意事项- 应用延迟请求时应具体说明,因为它会使您的浏览体验非常缓慢。如果在多个请求上添加延迟时需要请求类型,则应添加过滤器

在请求类型上添加过滤器

只需单击延迟请求规则中的过滤器图标,然后您可以选择请求类型,例如 -JS CSSXHR

在此处输入图像描述

多次使用这个。这行得通。

参考

免责声明:我请求构建(并且仍然满怀热情地构建)

于 2021-08-18T14:17:14.393 回答
0

这个network-spinner-devtool是一个浏览器 devtools 扩展,具有 URL 级别的配置和控制能力,允许在发送 http 请求之前或接收响应之后引入延迟(仅在 firefox 中支持)。

它同时支持 Chrome 和 Firefox 浏览器

也可以从 Chrome 网上商店安装Chrome DevTools

于 2021-11-05T01:12:39.080 回答