如何在Chrome开发者工具的网络监控器中屏蔽一个URL

88

我目前正在分析我的页面连接,我想在Chrome开发者工具的网络监视器中阻止一些跟踪脚本和其他外部URL调用。

我想快速检查页面在没有某些库的情况下的行为。

Chrome本身不提供此类功能,而著名的阻止扩展程序只会阻止用户手动输入到导航栏中的URL。

10个回答

103

2
是的,他们一直在改变它的位置,然后又把它拿出来。它曾经短暂地与控制台一起出现在底部面板中作为选项,但是有些错误 :-) 显然他们仍在努力使其正确。 - abd3721
@abd3721 是的,我知道。不过我在 Chrome 51.0.2704.84 (64-bit) 或 Canary 53.0.2762.0 canary (64-bit) 中没有看到这个选项,所以有点好奇。 - Samar Panda
FYI已被删除...如果您想要此功能,请为此问题加星:https://bugs.chromium.org/p/chromium/issues/detail?id=542285 - Kayce Basques
请说明这个功能是否仅在开发者工具中有效,或者甚至在其他标签页上也能继续工作。并且它是否会在下次打开浏览器时记住。 - Dan Jacobson
如果您需要阻止所有JS,可以转到“网络请求阻止”选项卡,然后单击“+”,然后添加模式“*.js”。 - Omar Shishani
显示剩余6条评论

24

abd3721提到的那样,这个功能在Chrome DevTools中直接可用(你不需要再使用金丝雀版本),但它仍然处于标志后和隐藏的实验特性菜单中。截至本评论发布时,Chrome稳定版的版本为53。

要启用它,请打开此链接,并在适当的标志下单击启用链接:
chrome://flags/#enable-devtools-experiments

然后,在DevTools中打开设置面板(F1),并单击实验选项卡。

这将列出当前可用的所有DevTools实验,但它仍然位于另一个隐藏的功能集中。

在实验选项卡中按6次Shift,以显示更多隐藏的功能之一是请求阻止。

注意:这些功能被视为实验性的,可能存在错误或不完整性。请谨慎使用。


额外警告:解除阻止是一个巨大的痛点 - 并不像一开始阻止那么简单。 - donohoe
在最新版本的Chrome中,解除阻止现在可以按预期工作。 - easwee
如果您需要阻止所有JS,可以转到“网络请求阻止”选项卡,然后单击“+”,然后添加模式“*.js”。 - Omar Shishani

20

在 Google Chrome 中阻止请求有三种选项:

1. 使用模式匹配的 Google Chrome:

在“网络”选项卡中,右键单击请求,然后选择阻止请求 URL

block request for chrome

有一个加号可以添加用于阻止请求的模式。

set pattern for blocked request

例如,我有七个请求 URL:

  1. http://www.test.com?userid=5
  2. http://www.test.com?username=username
  3. http://www.test.com?email=email
  4. http://www.test.com?name=x
  5. http://www.test.com?family=q
  6. http://www.test.com?family=y
  7. http://www.test.com?family=z

我可以通过添加模式(例如模式*family*)阻止具有特定模式的请求,该模式会阻止下列三个请求:

  1. http://www.test.com?family=q
  2. http://www.test.com?family=y
  3. http://www.test.com?family=z

小心!因为模式是大小写敏感的

2. HTTP请求阻止器扩展:

HTTP请求阻止器

该扩展具有用于阻止请求的模式匹配功能:

匹配模式

3. 请求阻止器扩展:

这是一个非常有用的扩展,它具有用于阻止请求的模式匹配功能。

该请求阻止器最有用的特性是导入和导出列表,供其他人使用。

使用请求阻止器扩展程序阻止请求

要导出列表并在另一台计算机(或将来使用)中使用:点击“定向下拉菜单”,选择“导出”。

输入图像描述

使用“导入列表”按钮打开导出的列表即可。

祝你好运!


以上项目的当前网址似乎是:https://github.com/wolfascu/ChromeHttpRequestBlockerhttps://github.com/gera2ld/request-x - Dan Jacobson

19

8
对于Google Chrome 94,可以排除整个域的网络活动:
1. 进入DevTools的“网络”面板:

"Network" panel of Chrome DevTools

2. 右键单击您想要阻止的域名项目,然后在上下文菜单中单击“阻止请求域名”:

context menu of Network item

3. 在“筛选器”中输入“status-code:0”,并勾选“反转”复选框:

fitering of Network items

要管理被阻止的域名,请在 DevTools 中按 ESC 键,然后单击底部面板中的 "Network request blocking" 选项卡:

Network request blocking


7

0
更改主机文件有帮助吗? 您的系统(Windows、Linux、Mac)在请求DNS查找之前都会检查主机。当我想要阻止一些慢速广告商时,我使用它。
Windows: c:\Windows\system32\drivers\etc\hosts
Linux和Mac: /etc/hosts
*非常小心地备份*

忘了吧,我不能改变我的主机,因为我没有管理员权限。 :/ - Alcedo_Atthis
此外,这并不能实现基于模式的URL阻止 :( - Broken Arrow

0

一个已存在的错误报告正在请求这个功能。你可以给该问题点赞以表示支持添加此功能。


0

嗯,我也一直在寻找解决方案,因为我也有假冒选择的问题,但似乎没有什么方法可以解决。 后来我试图分析请求和其他事情,直到我发现有一个网站正在加载广告并将我重定向到广告。而且还将新标签页上的Google搜索栏更改为某个未知搜索引擎。我能够暂时阻止其中一个页面的请求。但是在打开一个新标签页之后,广告会再次出现。

所以我谷歌了请求拦截器,并找到了一个Chrome扩展程序“HTTP请求拦截器”,添加了导致所有疯狂广告的地址,现在完全解决了问题。

希望它对你或任何人都有所帮助。


0
在原问题中,作者陈述道:
“著名的阻止扩展程序只会阻止用户手动输入到导航栏中的URL。”
但这已经不再是事实了。我非常喜欢使用mokku,它可以拦截和模拟所有类型的请求。您可以指定状态代码应该是什么,因此它肯定会解决这个问题,并添加其他有用的功能。它通过Chrome开发工具中的另一个选项卡来工作。这是该扩展的链接:https://chrome.google.com/webstore/detail/mokku-mock-api-calls-seam/llflfcikklhgamfmnjkgpdadpmdplmji?hl=en

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