問題タブ [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.

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

vbscript - URLがすでにencodeURIでエンコードされているかどうかを判断するにはどうすればよいですか?

再エンコードを避けるために、VBScript/JScriptでそれを実行しようとしています。
「%」があるかどうかを判断する必要がありますか?「%」はURLで他の用途がありますか?
ありがとう。

編集:ああ、元のエンコード関数はencodeURIではない可能性があります。
ブラウザからURLを収集し、encodeURIでエンコードした後に保存しようとしています。
ただし、URLがすでにエンコードされている場合は、別のエンコードを行うと間違ってしまいます。

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

url - URL でこれらの文字を許可できません:- % / \ # +

システムについて

プロジェクトにこの形式の URL があります:-

ペアkeyword/classは「クラス」キーワードで検索することを意味します。

以下は私のhtaccessファイルです: -

プロジェクト内のすべてのモジュールに対して実行される共通の index.php ファイルがあります。URL から index.php を削除するための書き換えルールしかありません (上記を参照)。

$_GET 配列を定義するために htaccess 書き換えルールを使用していません。私は代わりにそれを行うPHP内のURLパーサー関数を持っています。私が示した URL の例では、パーサーは以下を返します:-

検索 URL の準備中に urlencode() を使用し、検索 URL の読み取り中に urldecode() を使用しています。

問題

URL の一部の文字に問題があります

これらすべての文字を許可したい。何が問題なのですか?これらを許可するにはどうすればよいですか? 助けてください、ありがとう、サンディーパン

アップデート

現在、/ 文字のみが URL の破損を引き起こしています (以前と同様に 404 エラー)。そこで、URL 内の index.php を非表示にする htaccess 書き換えルールを削除して、代わりに完全な URL を使用してみました。検索用語class/newとして、次の 2 つの URL を試してみました:-

そして、最初のものは機能しますが、2番目のものは機能しません。index.php?browse_by_exam最初のものに注目してください。

しかし、私は最初の URL 規則を使用できません。index.php を非表示にして作成/操作する必要があります。助けてください

ありがとうございます

編集 (解決済み)

私の他の質問に対するボビンスの答えを考える

urlencoded スラッシュは URL を壊し ています。次のような URL を使用するのが最善だと思います:- http://project_name/browse_by_exam?type/tutor_search/keyword/class %2Fnew/new_search/1/search_exam/0/search_subject/0

そうすれば、慣例による読みやすさの難しさを取り除き、次&param1=value1&param2=value2を使用してクエリ文字列部分でスラッシュを許可することもできます?

ボビンスが言ったので、AllowEncodedSlashesを避けたいAlso some tools or spiders might get confused by it. Although %2F to mean / in a path part is correct as per the standard, most of the web avoids it.

0 投票する
13 に答える
129739 参照

.htaccess - urlencoded スラッシュが URL を壊している

システムについて

プロジェクトにこの形式の URL があります:-

キーワード/クラスのペアは、「クラス」キーワードで検索することを意味します。

プロジェクト内のすべてのモジュールに対して実行される共通の index.php ファイルがあります。URL から index.php を削除するための書き換えルールのみがあります:-

検索 URL の準備中に urlencode() を使用し、検索 URL の読み取り中に urldecode() を使用しています。

問題

スラッシュ文字のみが URL を分割し、404 ページが見つからないというエラーが発生します。たとえばone/two、URLを検索すると

これを修正するにはどうすればよいですか? URL に index.php を隠しておく必要があります。それ以外の場合、それが必要ない場合は、スラッシュに問題はなく、次の URL を使用できたはずです:-

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

twitter - Twitter Oauth URLエンコードの不整合?

http://dev.twitter.com/pages/authでウォークスルーを読んでいますが、コールバックURLのエンコードに矛盾があるようです。コールバックは次のようにリストされます:
oauth_callback- http:// localhost:3005 / the_dance / process_callback?service_provider_id = 11

署名の基本文字列は次のように表示されます:
POST&... oauth_callback%3D http%253A%252F%252Flocalhost%253A3005%252Fthe_dance%252Fprocess_provider_id%253D11%26oauth_consumer_key%3D .. ..

ここでは、コールバックが二重にエンコードされているようです。

署名されたAuthorizationヘッダーは次のようにリストされます:
OAuth oauth_nonce = "QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk"、oauth_callback = " http %3A%2F%2Flocalhost%3A3005%2Fthe_dance%2Fprocess_callback%3Fservice_

ここでは、コールバックは単一のURLエンコードされているように見えます。なぜそれらは一貫していないのですか?

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

c# - 16 進 URL デコーダー c#

http%3A%2F%2Fwww%2Ewikimoveis%2Ecom%2Ebr%2Ffotos%2F1292%2FKO2551%2FDSC01366%2EJPG のような URL があります

正しくデコードする必要があります。私はそれが16進数だと信じています。それを行う C# コードが見つかりません。

ありがとうございました

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

.net - URI のエスケープ + (プラス)

ユーザーが私の Web サイトに電子メールを入力すると、リンクを含む電子メール確認電子メールが送信されます。リンクは次のようになります。

http://mysite.com/VerifyEmail?email=name@domain.com&token=12341234

この特定のユーザーの電子メールには「+」(プラス) が含まれているため、リンクは次のようになります。

http://mysite.com/VerifyEmail?email=foo+bar@domain.com&token=12341234

リンクがクリックされたとき (少なくとも Firefox では) プラスはスペースに置き換えられます。

質問: .net でプラス記号をエスケープするために使用する URL エンコーディング関数は何ですか?

注:Uri.EscapeUriString(email)葉プラス無傷。

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

asp.net-mvc - ASP.NETMVC-クエリ文字列ではなくルートパラメータとしての検索基準-不正な文字

JavaScriptを使用せずにSEOとユーザーの検索を最適化する方法について前の質問をしましたが、RedirectToAction

しかし、そうすることで、解決する必要のある新しい問題を見つけました。

検索を送信した場合

「速い茶色のキツネが怠惰な犬を飛び越えた」

(完全なフレーズの「引用符」でGoogleを模倣しようとしています)

アプリケーションが私を爆破します(YSOD)

パスに不正な文字が含まれています。
説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとそれがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。

URLは次のようになります(Firefox)
http:// localhost /search/「速い茶色のキツネが怠惰な犬を飛び越えました」

使用してみUrl.Encodeましたが、どちらも機能しませんでした... URLは
http:// localhost / search /%2522the%2bquick%2bbrown%2bfox%2bjumped%2bover%2bthe%2blazy%2bdogs%2522のようになります

そしてエラーは言う

'/'アプリケーションのサーバーエラー。
HTTPエラー400-不正なリクエスト。

私が行方不明になっていることは非常に明白なことであるに違いありません。例外の詳細:System.ArgumentException:パスに不正な文字が含まれています。

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

python - PythonによるURLエンコード/デコード

Pythonで引数をエンコード、保存、デコードしようとしていますが、途中で迷子になっています。これが私のステップです:

1)私はグーグルツールキットを使用gtm_stringByEscapingForURLArgumentして、HTTP引数に渡すためにNSStringを適切に変換します。

2)私のサーバー(python)では、これらの文字列引数を次のように保存します(u'1234567890-/:;()$&@".,?!\'[]{}#%^*+=_\\|~<>\u20ac\xa3\xa5\u2022.,?!\''これらは、「123」ビューと「#+ =」ビューのiphoneキーパッドの標準キーであり、そこにある文字\u\x文字であることに注意してください)ポンド、円などのいくつかの金銭的な接頭辞)

3)私はurllib.quote(myString,'')その保存された値を呼び出します。おそらく、クライアントへの転送のためにそれらを%エスケープして、クライアントがそれらをパーセントでエスケープできないようにします。

その結果、%エスケープの結果をログに記録しようとすると、例外が発生します。httpを送信するために適切に変換するために、\ uおよび\x形式で保存された値に適用する必要がある、私が見落としている重要なステップはありますか?

更新:以下の答えとしてマークされた提案は私のために働いた。ただし、以下のコメントに対応するために、いくつかの更新を提供しています。

私が受け取った例外は、の問題を引用しました\u20ac。それが文字列の最初のUnicode文字であったという事実ではなく、それが特に問題であったかどうかはわかりません。

その\u20ac文字は「ユーロ」記号のUnicodeです。基本的に、urllib2quoteメソッドを使用しない限り、問題が発生することがわかりました。

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

asp.net - 正しいエンコーディングに変換されないクエリ文字列値がありますか?

実際にはクエリ文字列パラメーターで Göte を渡します。これは、url フィールドで G%F6te に変換されます。そしてページでは、実際にはそれが表示する汎用ハンドラーです。

ゲーテ

Göteが表示されるように修正するにはどうすればよいですか?

- - - - - 編集 - - - - - - - -

ページへのajax呼び出しを行うと実際には正常に機能しますが、クエリ文字列パラメーターを直接変更すると機能しません。

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

regex - %252520 のプラス記号を置き換える

Google でインデックスされたページをクリックすると、クエリ文字列のプラス記号が %252520 に置き換えられます (エンコードされますか?)。

理由を知っている人はいますか?

例:

する必要があります

これは htaccess で URL をリダイレクトした結果だと聞きました。