[v1.3] fix #1235 by cyfung1031 · Pull Request #1238 · scriptscat/scriptcat

为什么变成特殊处理?

首先 GF 可以把 % + 写在档名
% 是 URL全体编码时变 "%25"
+ 是 URL参数编码时变 "%2B"
但GF内部会把 + 也变成 "%2B"

因此浏览器在读网址时,虽然看到的解码是 % 跟 +,但这个网址用正常编码的话,会对不上实际网址
在 chrome declarative rule 的 regexSubstitution ,chrome 放的是看得到的网址,即已经没有 %25 %2B. 因为它是用在网址的regexSubstitution,它会把这部份做正常的「 URL全体编码」,也就是 「% 变 "%25" + 不变」的情况。

这PR我加的代码是用来取 「chrome 看得到的网址」 <- 这个我视为通用处理
正常用这个可以直接发起 fetch request. 内部会自行处理编码

很可惜,用这个 URL 的话, GF就会返回403 < 所以需要特殊处理让它变回 "%25" 跟 "%2B"
这是GF本身的问题。我数日前反映了,但Jason不理。