問題タブ [percent-encoding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
19 に答える
144363 参照

c++ - C++でのURLのエンコード/デコード

誰かがこれを行う良いC++コードを知っていますか?

0 投票する
2 に答える
3739 参照

apache - 正規のパーセント エンコーディングを強制する mod_rewrite ルール

実際にはエンコードする必要のない括弧やアフォストロフィーなどの「予約されていない文字」であっても、文字をパーセントでエンコードする必要がある動的 URL スキームを使用する PHP アプリがあります。アプリが「間違った」方法でエンコードされたと見なした URL は正規化され、「正しい」エンコードにリダイレクトされます。

しかし、Google やその他のユーザー エージェントは、パーセント エンコーディング/デコーディングを異なる方法で正規化します。つまり、Googlebot がページをリクエストすると、「間違った」URL を要求し、「正しい」URL へのリダイレクトを返すと、Googlebot はフォローを拒否します。リダイレクトし、ページのインデックス作成を拒否します。

はい、これは弊社側のバグです。HTTP 仕様では、サーバーがパーセント エンコードされた文字とパーセント エンコードされていない未予約文字を同じように処理する必要があります。しかし、アプリ コードの問題を修正することは現時点では簡単ではないため、アプリの観点から URL が「適切に」エンコードされるようにする Apache 書き換えルールを使用して、コードの変更を回避したいと考えていました。つまり、アポップストロフィー、括弧などはすべてパーセントでエンコードされ、スペースは+ではなくとしてエンコードされ%20ます。

これは、最初のフォームを書き直して、2 番目のフォームで終了する 1 つの例です。

  • www.splunkbase.com/apps/All/4.x/Add-On/app:OPSEC+LEA+for+Check+Point+(Linux)
  • www.splunkbase.com/apps/All/4.x/Add-On/app:OPSEC+LEA+for+Check+Point+%28Linux%29

ここに別のものがあります:

  • www.splunkbase.com/apps/All/4.x/app:Benford's+Law+Fraud+Detection+アドオン
  • www.splunkbase.com/apps/All/4.x/app:Benford%27s+Law+Fraud+Detection+アドオン

ここに別のものがあります:

  • www.splunkbase.com/apps/All/4.x/app:Benford%27s%20Law%20Fraud%20Detection%20アドオン
  • www.splunkbase.com/apps/All/4.x/app:Benford%27s+Law+Fraud+Detection+アドオン

アプリがこれらの URL の 2 番目の形式のみを認識した場合、リダイレクトは送信されず、Google はページをインデックスに登録できます。

私は書き換えルールの初心者であり、mod-rewrite のドキュメントを読んだところ、mod_rewrite が自動エンコード/デコードを行っていることは明らかでした。

上記のケースを処理するための書き換えルールに関するアドバイスはありますか? 特殊文字の数は多くないので、特殊文字ごとのルールで問題ありませんが、(可能であれば) 単一のルールが理想的です。

0 投票する
3 に答える
685 参照

php - PHP: パーセント エンコーディングが異なる URI を比較する

PHP で、2 つの相対 URL が等しいか比較したいと考えています。問題: URL はパーセント エンコーディングが異なる場合があります。

  • /dir/file+file対。/dir/file%20file
  • /dir/file(file)対。 /dir/file%28file%29
  • /dir/file%5bfile対。 /dir/file%5Bfile

RFC 3986によると、サーバーはこれらの URI を同じように扱う必要があります。でも==比べてしまうとズレてしまうんですよね。

だから私は2つの文字列を受け入れTRUE、それらが同じURIを表す場合に返すPHP関数を探しています(同じ文字のエンコード/デコードされたバリアント、エンコードされた文字の大文字/小文字の16進数、および+%20スペース)、およびFALSEそれらが異なる場合。

これらの文字列にはASCII文字のみが含まれていることを事前に知っています.Unicodeはありません。

0 投票する
6 に答える
2053 参照

python - Pythonで16進文字列をパーセントエンコードされた文字列に変換する

文字列があります。のように見えますs = 'e6b693e6a0abe699ab'

文字のすべてのペアの前にパーセント記号を付けたいので、percentEncode(s) == '%e6%b6%93%e6%a0%ab%e6%99%ab'

書くのに良い方法は何percentEncode(s)ですか?

予約されていない文字がASCIIに変換されなくてもかまいません。)

私はこれを行うための大きな冗長な方法を考えることができますが、私は何か素晴らしくてシンプルなものが欲しいです、そして私はPythonにかなり慣れていませんが、Pythonがこれをうまくできないとしたら驚きます。

0 投票する
2 に答える
1636 参照

javascript - 動的に作成されたブレッドクラムから%20を削除する方法はありますか?

そのため、このDynamic Breadcrumbsの記述をいじっていたところ、ディレクトリ名にスペースが含まれていると、実際に表示されるブレッドクラムに%20が追加されるという問題が発生しました。これはdecodeURI()関数を使用して削除されますか、それともより良い方法がありますか?

これがjsです:

decodeURI()を使用する場合、正確にはどこに行きますか?また、もっと無関係に、ディレクトリ内の実際のページを最後のディレクトリではなく最後のアイテムとしてブレッドクラムに含めるオプションを上記のコードに追加できますか?それほど重要ではありませんが、私も質問したいと思いました。ご入力いただきありがとうございます。

0 投票する
3 に答える
24251 参照

perl - Perl を使用して、Web 上でこれらの % エンコーディングをデコードまたは作成するにはどうすればよいですか?

Perl スクリプトで URI (つまりパーセント) のエンコードとデコードを処理する必要があります。それ、どうやったら出来るの?


これは公式 perlfaqからの質問です。perlfaq を Stack Overflow にインポートしています。

0 投票する
4 に答える
24192 参照

javascript - パーセントエンコーディングJavaScript

文字列を受け取り、それをパーセントエンコードされた別の文字列に変換するjavascript関数はありますか?そうすれば、「ThisGuy」のようなものが「This%20Guy」に変わります。

ありがとう

0 投票する
1 に答える
2722 参照

.htaccess - URL パーセント エンコーディングが機能しない

URL にヘブライ語/アラビア語の文字を表示したい。

例: 次の名前のファイルを表示する URL が必要です。aאm.php

したがって、中間の UTF8 文字をパーセントでエンコードした結果は次のようになりa%D7%90m.phpます。サーバー (Apache) にアップロードa%D7%90m.phpし、ページ www.example.com/a%D7%90m.php と www.example.com/aאm.php をリクエストしようとしましたが、サーバーが応答しました:

要求された URL/a%D7%90m.phpはこのサーバーで見つかりませんでした。

そのため、代わりに(パーセントエンコーディングなしで)アップロードしようとしましaאm.phpたが、www.example.com/a%D7%90m.php と www.example.com/aאm.php を閲覧してもうまくいきませんでした。

この問題を解決するにはどうすればよいですか?

0 投票する
2 に答える
750 参照

html - オブジェクトタグのデータ属性をパーセントエンコードする必要がありますか?

私のWebアプリケーションが次のタグをレンダリングするとします。

属性をエスケープする必要がdataありますか(パーセントエンコードされたパス)、またはしませんか?私の例ではそうです。仕様が見つかりません。

補遺

data実際、属性を消費するブラウザプラグインがそこで何を期待すべきかについての仕様に興味があります。たとえば、Adobe Acrobatプラグインは、エスケープされたuriとエスケープされていないuriの両方を取ります。ただし、QWebPluginFactoryは、属性を人間が読み取れるURI(エスケープされていない)として扱いdata、それにより2パーセントのエンコードが発生します。そして、それがバグなのかどうか疑問に思いQWebPluginFactoryます。

0 投票する
2 に答える
2004 参照

java - フルパーセントエンコーディングを使用してAndroidで文字列をエンコード/デコードするクイック機能はありますか?

Android アプリケーションの一部の文字列操作にパーセント値のエンコード/デコードを使用したいと考えています。Web リクエストを作成するために URI をエンコードするときにエンコードされる文字だけでなく、すべての文字をエンコードしたいので、URI エンコード/デコード関数のペアを使用したくありません。これを実行できる Android ライブラリまたは Java ライブラリの組み込み関数はありますか?

-- ロシュラー