問題タブ [url-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.
apache - URLの疑問符(Apache)
URLの疑問符に問題があります。
例:私はURL test.com/controller/action/part_1%3Fpart_2
(%3FはURLエンコードされた疑問符)を持っており、この書き換えルールRewriteRule .* index.php/$0 [PT]
を使用すると、使用するフレームワーク(Kohana)にそのまま渡す必要があります。少なくとも私はそう思った。
問題は、URLエンコードされた疑問符の後のすべてがGETパラメータとして扱われているため、Kohanaはとのみを受け取り、に配列キーがpart_1
あることがわかります。Webサーバーの問題だと思います(Apache2.2)。part_2
$_GET
apacheがURLエンコードされた疑問符をGETパラメータインジケーターとして扱わないようにするにはどうすればよいですか?
javascript - JavaScript で URL を適切にエンコードするにはどうすればよいですか?
現在のページの URL または選択したリンクをパラメーターとして受け取り、それをサーバーに送信するブラウザー プラグインに取り組んでいます。URL に基本的なラテン アルファベットの文字が含まれている場合 ( http://en.wikipedia.org/wiki/Vehicleなど)、プラグインは正常に動作します。ただし、URL にhttp://ru.wikipedia.org/wiki/Коляскаなどの別のアルファベットの文字が含まれている場合、プラグインは機能しません。このencodeURIComponent
方法を使用しても問題は解決しないようです。何か案が?
ありがとう、
オリビエ。
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 が自動エンコード/デコードを行っていることは明らかでした。
上記のケースを処理するための書き換えルールに関するアドバイスはありますか? 特殊文字の数は多くないので、特殊文字ごとのルールで問題ありませんが、(可能であれば) 単一のルールが理想的です。
java - java.net.URIがホスト部分の特殊文字をチョークする
次のようなURI文字列があります。
この文字列を使用してjava.lang.URIインスタンスを作成していますが、成功しますが、ホストを取得する場合はnullが返されます。上記のように正確に入力すると、OperaとFirefoxもこのURLを窒息させます。しかし、URIクラスが無効な場合、URISyntaxExceptionをスローするべきではありませんか?その場合、URIが不正であることをどのように検出できますか?
URLDecoderを使用して文字列をデコードすると、同じように動作します。
http: //www.christlicheparteiösterreichs.at/steiermark /
現在、これはOperaとFirefoxで受け入れられていますが、java.net.URIはまだそれを好みません。このようなURLをどのように処理できますか?
ありがとう
c# - 完全な C# noob、VS2010、HttpServerUtility.UrlEncode を使用できませんか?
だから、私はC#の完全な初心者です。urlencoded 投稿を使用するためにエンコードする必要がある URL があります。
問題は、私が見つけたすべてのリソースが System.Web.HttpServerUtility.UrlEncode を使用するように言っていることです。または、System.Web.Util.HttpEncoder() を使用するように指示するリソースを見たことがあります。
system.web への参照を追加しましたが、「system.web 名前空間に存在しません」および「system.web.util 名前空間に存在しません」というエラーが発生します。
どんなヒントでもいいです!
asp.net - NameValueCollectionをURLクエリに?
私はこれができることを知っています
しかし、これをURLに戻す方法はありますか?
.net - URLエンコードされたアンパサンドとRequest.Url内で時期尚早にデコードされたクエリ文字列
URLを指定する/Page.aspx?a=b&title=apples+%26+pears
と、Request.Url
プロパティは/Page.aspx?a=b&title=apples+&+pears
2番目のキーと値のペアのURLエンコードされたアンパサンドは、自動的にデコードされていることに注意してください。他のURLエンコードされた予約文字は、自動的にデコードされません。
この動作は正しいですか?
編集:問題は、Request.Urlプロパティが、予期しないときにエンコードされたアンパサンドを自動的にデコードすることです。
答え: string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Host, Sitecore.Context.Request.RawUrl)
url - GET リクエストで URL を渡すときに URL エンコーディングを行わないと、どのような影響がありますか?
ブラウザで次の URL を試してみましたが、http://www.google.com/search?hl=en&q=http://www.yahoo.com/path/to/location
うまくいきました。何が機能したのですか?また、スペースを + や %20 などで置き換える以外に、なぜ URL をエンコードする必要があるのでしょうか? つまり、有効な URL で許可されていない文字が含まれていない場合でも、URL をエンコードする必要がありますか?
御時間ありがとうございます。
urlencode - YQL によるキーの URL エンコードの防止
YQL がデータテーブルのキーを URL エンコードするのを防ぐことができるかどうか疑問に思っていますか?
例:
現在の Guardian API は、次のような ID で動作します。
これらの ID の問題は、ID にスラッシュ (/) が含まれていることです。これらの文字は、API 呼び出しで URL エンコードするべきではなく、そのままにしておく必要があります。
だから私が今このクエリを持っているなら
url
私のデータテーブルで次の定義を使用している間
次に、これにより、この API 呼び出しが行われます
http://content.guardianapis.com/environment%2F2010%2Foct%2F29%2Fbiodiversity-talks-ministers-nagoya-strategy?format=xml&order-by=newest&show-fields=all
代わりに、ガーディアン API は呼び出しが次のようになることを想定しています。
http://content.guardianapis.com/environment/2010/oct/29/biodiversity-talks-ministers-nagoya-strategy?format=xml&order-by=newest&show-fields=all
したがって、問題は実際には、この場合は発生したくない/
文字がエンコードされることです。%2F
これをどのように達成できるかについてのアイデアはありますか?
私が使用している完全なデータテーブルを確認することもできます。
http://github.com/spier/yql-tables/blob/master/guardian/guardian.content.item.xml
utf-8 - コードページに基づく異なるクエリ文字列の urlencoding。ASP クラシック
現在、webapp を ISO-8859-1 から UTF-8 に変換しています。そして、すべてがうまく機能しますが、他のサイト (サインアップフォーム) から get/post 変数を要求します。
私たちのサイトに投稿するこのサイトの一部は ISO-8859-1 エンコーディングを使用しており、一部は UTF-8 を使用しています。
問題は、特殊文字がサイトの文字セットに応じて異なる方法で URL エンコードされることです。
例: ø = ISO-8859-1 の %F8 ø = UTF-8 の %C3%B8
UTF-8 文字セットを使用している場合、%F8 を正しく取得できません。Unicode 文字「置換文字」(U+FFFD) しか取得できません。
これを修正する方法についてのヒントは大歓迎です:)
トルビョルン