我正在编写一个基于某些输入动态创建 URL 的 Web 应用程序,以供客户端在其他时间使用。为了讨论起见,这些 URL 可以包含某些字符,例如正斜杠(即 '/'),不应将其解释为实际 URL 的一部分,而应仅作为参数。例如:
http://mycompany.com/PartOfUrl1/PartOfUrl2/ArgumentTo/Url/GoesHere
如您所见,ArgumentTo/Url/GoesHere确实有正斜杠,但这些应该被忽略或转义。
这可能是一个不好的例子,但手头的问题更笼统,适用于其他特殊字符。
那么,如果 URL 的某些部分只是参数,不应该用于解析实际的 Web 请求,那么有什么好的方法来处理呢?
更新:
鉴于一些答案,我意识到我没有指出一些希望有助于澄清的部分。
我想保持这种相当语言不可知论,因为如果客户可以提出请求,那就太好了。例如,如果客户端知道它想要传递ArgumentTo/Url/GoesHere,那么如果可以将其编码为一个唯一的字符串,服务器可以在其中转身并对其进行解码以供使用,那就太好了。
我们是否可以假设 .NET Framework 中的 HttpUtility.HtmlEncode/HtmlDecode 等类似功能在其他系统/平台上可用?URL 不一定要漂亮,因此路径中包含真实的单词并不重要。
像参数的base64编码这样的东西会起作用吗?
似乎 base64 编码/解码在任何平台/语言上都相当容易获得。