ある入力に基づいてURLを動的に作成し、別のときにクライアントが使用するWebアプリケーションを作成しています。説明のために、これらのURLには、スラッシュ(つまり、「/」)などの特定の文字を含めることができます。これは、実際のURLの一部としてではなく、引数として解釈する必要があります。例えば:
http://mycompany.com/PartOfUrl1/PartOfUrl2/ArgumentTo/Url/GoesHere
ご覧のとおり、ArgumentTo / URL / GoesHereには確かにスラッシュがありますが、これらは無視するかエスケープする必要があります。
これは悪い例かもしれませんが、手元にある質問はより一般的で、他の特殊文字にも当てはまります。
したがって、単なる引数であり、実際のWeb要求を解決するために使用されるべきではないURLの断片がある場合、これを処理するための良い方法は何ですか?
アップデート:
いくつかの答えを考えると、明確にするのに役立つと思われるいくつかの部分を指摘できなかったことに気づきました。
クライアントがリクエストを行うことができれば素晴らしいので、私はこれをかなり言語に依存しないようにしたいと思います。たとえば、クライアントがArgumentTo / Url / GoesHereを渡したいことを知っている場合、サーバーが向きを変えてデコードして使用できる一意の文字列にエンコードできると便利です。
.NETFrameworkのHttpUtility.HtmlEncode/HtmlDecodeのような同様の関数が他のシステム/プラットフォームで利用可能であると想定できますか?URLは決してきれいである必要はないので、パスに実際の単語を含めることは実際には重要ではありません。
引数のbase64エンコーディングのようなものは機能しますか?
base64のエンコード/デコードは、どのプラットフォーム/言語でもかなり簡単に利用できるようです。