6

タイトルの通り、何をやってもブラウザで開きたいURLが開けません。

\ で二重引用符をエスケープしてみました

「」の代わりに URL で %22 を使用してみました

いずれにせよ、最終 URL は実質的に " を %2522 に変えてしまいます

%25 が % を表していることはわかっています。つまり、どういうわけか " が最初に %22 に変換され、次にその中の % が %25 に変換されます。意味がありません。とにかく 2 回処理される理由がわかりません。

URL の例 (Python で変数を出力すると得られるもの):

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

Chrome で開く Web ブラウザ:

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

4

1 に答える 1

7

あなたのコードは 2 回 URL エンコードされています。is のエンコーディングと同様に、%2522は の二重エンコーディングです。"%%25

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