ホームページ > バックエンド開発 > C++ > URL パラメータ内のスラッシュを効果的に処理するにはどうすればよいですか?

URL パラメータ内のスラッシュを効果的に処理するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-02 16:15:39
オリジナル
449 人が閲覧しました

How Can I Handle Slashes in URL Parameters Effectively?

URL パラメータ内のスラッシュの処理

Web 開発では、URL を介してパラメータを渡すのが一般的です。ただし、スラッシュなどの特殊文字はルート マッチングを妨げ、問題を引き起こす可能性があります。

次の例を考えてみましょう。

routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = "" });
ログイン後にコピー

URL http://localhost:5000/Home/About を使用する場合/100/200 (URL エンコードされたスラッシュを含む) では、一致するルートがないことがわかります。

解決策:

考えられる解決策の 1 つは、キャッチオール パラメータを使用することです。たとえば、ルートを次のように変更できます。

routes.MapRoute("Default", "{controller}/{action}/{*id}", new { controller = "Home", action = "Index", id = ""});
ログイン後にコピー

これにより、id パラメータはスラッシュを含む値を含む任意の値を受け入れることができます。

別のオプションは、カスタム URL エンコーダを使用することです。デコーダ。これには、URL にとって問題となる文字を、Base64 エンコードなどのより適切な形式に変換するクラスの作成が含まれます。例:

public class UrlEncoder { ... }
ログイン後にコピー

このクラスを使用して、必要に応じてパラメーターをエンコードおよびデコードできます。サンプル実装は次のとおりです。

public string UrlEncode(string encode) { ... }

public string UrlDecode(string decode) { ... }
ログイン後にコピー

これにより、ルートの機能を維持しながら、特殊文字をより柔軟に処理できるようになります。

最終的に、最適なソリューションはアプリケーションの特定の要件によって異なります。 。スラッシュやその他の問題のある文字が含まれる可能性のあるパラメーターを操作する場合は、次のオプションを考慮してください。

以上がURL パラメータ内のスラッシュを効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート