首页 > 解决方案 > 即使规则另有说明,DeclarativeNetRequest 也会截获发起者 = localhost 的请求

问题描述

[
  {
    "id": 1,
    "priority": 2,
    "action": {
      "type": "redirect",
      "redirect": { "regexSubstitution": "http://localhost:28438/check-url?url=\\0" }
    },
    "condition": {
      "regexFilter": "^(https?\\://)?[^\\:]+$",
      "resourceTypes": [ "main_frame" ],
      "excludedDomains":["localhost"]
      
    }
  },
  {
    "id": 2,
    "priority": 1,
    "action": {
      "type": "redirect",
      "redirect": {        
        "regexSubstitution": "\\1"
      }
    },
    "condition": {
"regexFilter": "^(?:http\\://)?localhost.+pass\\?url=(.+)$",
      "resourceTypes": [ "main_frame" ]      
    }
  }
]

根据上面的规则#1,来自本地主机的每个请求都应该被忽略,其余的应该被重定向到本地服务器。我添加了规则#2,以便更广泛地了解此案;在这里发布它真的是多余的。

然而,我的期望并不满足,请求被拦截,导致无限循环:

[1]:https://i.stack.imgur.com/cd1pa.png

在这种情况下,我尝试打开 msn 网站,但它被第一条规则拦截(第二条规则正常)。

标签: google-chrome-extensionhttp-redirect

解决方案


推荐阅读