在网址中加入网址

时间:2010-09-10 10:57:51

标签: c# asp.net url encode

我想使用以下格式的网址:

http://localhost/{url}/{options}/{hash}

但是由于url在url中的url会非常奇怪,我该怎么编码呢?

我正在考虑用十六进制编码,因为.net中的url编码给了我一些奇怪的结果,但是在url中没有用。但我真的不知道这里最好的方式是什么。

我想保留网址的结构,不包括任何查询字符串。

2 个答案:

答案 0 :(得分:2)

您可以使用System.Web.HttpUtility.UrlEncode方法对网址的部分内容进行编码(甚至是其他网址)。

如果它是路径的一部分而不是查询字符串,UrlPathEncode应该完成这项工作。

答案 1 :(得分:0)

如果您不想使用查询字符串部分,那么为什么要对网址部分进行编码?

以下网址完全有效:

http://localhost/www.stackoverflow.com/1234/abc

如此RFC中所述,字符,“ - ”和“。”允许在URI中。