問題タブ [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 投票する
1 に答える
1427 参照

parsing - WebサーバーのリクエストURIで予約されたエスケープ文字をデコードするにはどうすればよいですか?

WebサーバーがURI比較を行うために、エスケープされた予約されていない文字(alphanumなど)をデコードする必要があることは明らかです。たとえば、http://www.example.com/~user/index.htmはと同じですhttp://www.example.com/%7Euser/index.htm

私の質問は、エスケープされた予約文字をどうするかということです。

例は、、%2Fまたは/です。リクエストURIにが含まれている場合、Webサーバーのパーサーはそれを?%2Fに置き換える必要があります。/上記の例では、それは?http://www.example.com/~user%2Findex.htmと同じになることを意味します。http://www.example.com/~user/index.htmApacheサーバー(2.2.17 Unix)で試してみましたが、「404NotFound」エラーが発生するようです。

つまり%2F、他のエスケープされた予約文字は(少なくともURI比較の前に)そのままにしておく必要がありますか?

背景情報:

RFC 2616(HTTP 1.1)には、エスケープデコードの問題に言及している場所が2つあります。

Request-URIは、セクション3.2.1で指定された形式で送信されます。Request-URIが「%HEXHEX」エンコーディング[42]を使用してエンコードされている場合、オリジンサーバーはリクエストを適切に解釈するためにRequest-URIをデコードする必要があります。サーバーは、無効なR​​equest-URIに適切なステータスコードで応答する必要があります。

「予約済み」および「安全でない」セット(RFC 2396 [42]を参照)以外の文字は、「"%」HEXHEXエンコードと同等です。

http://trac.tools.ietf.org/wg/httpbis/trac/ticket/2によると、 「安全でない」は間違いであり、仕様から削除されます。したがって、ここでは「予約済み」のみを確認しています。)

参考までに、RFC 2396でのそのような文字の定義:

予約済み=";" | "/" | 「?」| ":" | "@" | "&" | "=" | "+" | "$" | "、"

unreserved = alphanum | マーク

マーク="-"| "_" | 「。」| 「!」| "〜" | "*" | "'" |"( "|") "

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

javascript - HTMLEncodingからURLEncodingに直接変換する

現在、一連のASPクラシックページを新しいMVCベースのイントラネットに転送しています。重要な機能の変更は行っていませんが、UIの改善とベストプラクティスをいくつか行っています。ただし、これは特殊文字に関する問題を引き起こします。

1つのセクションは、臨床テストのドロップダウンリストで機能し、テスト名のクエリ文字列を介してGETSします。ただし、ASP.netのHTMLEncodingは過度に攻撃的です(UTF-8であるにもかかわらず、広範囲の文字をエンコードしています)。これにより、HTMLエンコードされた文字がURLエンコードされ、全体が「潜在的に危険な要求」エラーをスローします。

テスト名をHTMLEncodeできませんでした。これを変更するためのアクセス権を持つユーザーは非常に限られていますが、それは私が始めたいパスではありません。

これにより、文字列のエンコードを解除してから再エンコードする必要がありますが、JavaScriptにはネイティブのHTMLDecode関数がありません。文字の長いリストを取得して文字列を置換するのではなく、HTMLエンコードされた文字からパーセントエンコードされた文字に直接移行する簡単な方法があるかどうか、つまり&xxx;の行に沿って何かをデコードして再エンコードするのではないかと思いました。=%(xxx / 2)

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

perl - LWP::UserAgent を使用してフォームデータの ISO-8859-1 エンコーディングを強制する方法は?

LWP::UserAgent は、次のように ISO-8859-1 として明示的にエンコードしている場合でも、常にフォーム データを UTF-8 としてエンコードしているようです。

依頼内容はtext=%C3%A8. 代わりにどのようにèエンコードできますか?%E8

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

objective-c - NSURL のパーセント エンコーディングへのアラビア語 UTF エンコーディング

Http Requests を介してモバイルからインターネットにリクエストを送信するいくつかのモバイル アプリに取り組んでいます。

問題は、このリクエストでアラビア文字をパラメーターとして送信することです。そのため、それらを変換する必要があります。

UTF-8 からパーセントへのエンコード

ここにJavaベースのソリューションがあります:

http://mrxprt.com/blog/?p=454

[投稿の下部に英語の詳細が表示されます:]

しかし、Objective-C に関する私の問題は、どうすれば解決できますか?!

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

url - URLパーセントエンコーディングでは大文字と小文字が区別されますか?

URLでの%3B扱いは異なりますか?%3b

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

c# - c#によるすべてのutf-8文字のパーセントエンコーディング

「投稿」リクエストに入れるための文字列を用意したいと思います。残念ながら、URL をエンコードするために私が見つけたすべての方法は、ほんの一握りの文字にのみパーセント エンコードを適用しているようです。さまざまな方法。HttpUtility.UrlEncode、() や § などの一部の文字はそのままにしておきます。

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

url - RFC 3986(URI構文)で%(パーセント)が予約文字と見なされないのはなぜですか?

明らかに%をエンコードする必要があります。標準に関するウィキペディアの記事には次のように書かれています。

パーセント( "%")文字は、パーセントエンコードされたオクテットのインジケーターとして機能するため、そのオクテットをURI内のデータとして使用するには、「%25」としてパーセントエンコードする必要があります。

予約文字としても記載されていないのはなぜですか?明らかに、URIのコンテキストで特別な何かを示すために予約されています...

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

urlencode - URL エンコーディングのパーセンテージ スペース

URL エンコーディングでの Twitter 共有リンクの問題。この文を共有する必要があります。

私はあなたに40%の割引をします

これをURLから渡そうとしています

2 つの割合 %% が一緒になって問題を作成します
。解決策は何ですか?

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

java - パーセントでエンコードされた URL から 16 進値を抽出する

たとえば、次のパーセントでエンコードされた文字を含む URL があるとしましょう: %80
これは明らかに ASCII 文字ではありません。
この値を Java の対応する 16 進文字列に変換するにはどうすればよいでしょうか。運が悪かったので、次のことを試しました。結果は80になるはずです。

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

php - パーセント エンコーディングと sql LIKE クエリ

get http requestを含むSQLクエリを送信するにはどうすればよいですか? LIKE %item%パーセントエンコーディングについて読んだことがありますが、そのようなリクエストをどのように処理するかについてはまだわかりません。

% sign処理されるpercent-encodingため、SQLクエリが壊れます。

ヘルプ!