6

如标题中所述,无论我做什么,我都无法让网络浏览器打开我希望它打开的 URL。

我尝试用 \ 转义双引号

我尝试在 URL 中使用 %22 而不是 "

无论如何,最终 URL 最终都会有效地将 " 变成 %2522

我知道 %25 代表 %,这意味着,不知何故,“首先变成了 %22,然后其中的 % 变成了 %25。没有意义,我不知道为什么它会被处理两次。

示例 URL(我在 python 中打印变量时得到的):

https://domain.com/do?q=item :(("abc")+OR+("def")+OR+("ghj"))

浏览器在 Chrome 中打开的内容:

https://domain.com/do?q=item:((%2522abc%2522)+OR+(%2522def%2522)+OR+(%2522ghj%2522))

4

1 回答 1

7

您的代码是两次 URL 编码。%2522是 的 的双重编码,"因为%is的编码%25

> decodeURIComponent('%2522')
"%22"
> decodeURIComponent('%22')
"\""
于 2015-08-07T01:28:33.737 回答