你可以修改Safari扩展中的http请求标头吗?

Ada*_*dam 11 http-headers safari-extension

我可以在FF和IE中执行此操作,我知道它在Chrome中不存在.有谁知道你是否可以在Safari插件中执行此操作?我在文档中找不到任何说法.

Jim*_*thy 8

现在,您可以使用Local Overrides在 Safari 中执行此操作,无需任何扩展。

  1. 从“源”或“网络”选项卡中,控制/右键单击要覆盖的资源。
  2. 选择创建请求本地覆盖
  3. 在 Web 检查器左侧面板的“本地覆盖”下,按住 Control 键/右键单击资源覆盖。
  4. 选择编辑本地覆盖...。
  5. 单击“添加标头”(或者更改现有标头的值)。
  6. 输入标头名称和值。
  7. 如果这是针对 POST、PUT 等请求,请单击“包含原始请求数据”(否则,您还将覆盖请求正文,而不仅仅是标头)。
  8. 再次尝试您的请求。覆盖的标头应该适用。您可以通过检查“网络”选项卡中的请求来验证这一点。


Sah*_*pta 6

Safari 增加了扩展支持,但与 Chrome/Firefox/Edge 相比,其 API 不允许您对请求和响应进行精细控制。

要对请求和响应进行粒度级别控制,您需要设置系统范围的代理。 Requestly桌面应用程序会自动为您执行此操作,最重要的是,您也可以进行各种类型的修改,例如:

  • 修改请求/响应标头
  • 重定向 URL
  • 修改响应
  • 延迟网络请求
  • 插入自定义脚本
  • 更改用户代理

这是一篇关于使用 requestly 进行标头修改的文章 https://requestly.io/feature/modify-request-response-headers/

免责声明:我在 Requestly 工作


Ada*_*ord 3

编辑(2021 年 11 月):正如评论中指出的那样,ParosProxy 似乎不再存在(据我所知,最后发布于 2006 年)。Mac 上有更多现代的调试选项(除了非 Safari 浏览器上的浏览器插件),例如Proxyman。我不会添加另一个可能过期的链接列表,而是建议人们在他们选择的平台上搜索“调试代理”。

原答案(2012):

高级首选项中的 Safari“开发”菜单允许您部分自定义标头(如用户代理),但它非常有限。

但是,如果特定的浏览器或应用程序不允许您更改标头,则只需将其排除在外即可。您可以使用FiddlerParosProxy(以及许多其他)之类的东西来更改请求,无论发送请求的应用程序如何。

它们的优点还在于,您可以确保发送相同的标头,无论相关应用程序如何,并且(取决于您的要求)可能无需修改即可跨多个浏览器和应用程序工作。