Я пишу веб-приложение, которое динамически создает URL-адреса на основе некоторого ввода, который будет использоваться клиентом в другое время. Для обсуждения эти URL могут содержать определенные символы, такие как прямая косая черта (т. Е. '/') , которая должна интерпретироваться не как часть фактического URL, а как аргумент. Например:
http://mycompany.com/PartOfUrl1/PartOfUrl2/ArgumentTo/Url/GoesHere
Как видите, ArgumentTo / Url / GoesHere действительно имеет косую черту, но их следует игнорировать или экранировать .
Это может быть плохой пример, но рассматриваемый вопрос носит более общий характер и применяется к другим специальным символам .
Итак, если есть части URL, которые являются просто аргументом s и не должны использоваться для разрешения реального веб-запроса, каков хороший способ обработки этого?
Обновление:
Учитывая некоторые ответы, я понял, что не смог указать несколько фрагментов, которые, надеюсь, помогут прояснить ситуацию.
Я бы хотел сохранить эту независимость от языка, так как было бы здорово, если бы клиент мог просто сделать запрос. Например, если клиент знал, что он хочет передать ArgumentTo / Url / GoesHere , было бы здорово, если бы он мог быть кодирован в уникальную строку в который сервер может развернуть и декодировать , чтобы использовать.
Можно ли предположить, что аналогичные функции, такие как HttpUtility.HtmlEncode / HtmlDecode в .NET Framework, доступны на других системах / платформах? URL-адрес не обязательно должен быть довольно , поэтому наличие в пути настоящих слов не имеет большого значения.
Будет ли работать что-то вроде кодировки base64 аргумента?
Кажется, что кодирование / декодирование base64 довольно легко доступно на любой платформе / языке.