我想使用以下格式的网址:
http://localhost/{url}/{options}/{hash}
但是由于url在url中的url会非常奇怪,我该怎么编码呢?
我正在考虑用十六进制编码,因为.net中的url编码给了我一些奇怪的结果,但是在url中没有用。但我真的不知道这里最好的方式是什么。
我想保留网址的结构,不包括任何查询字符串。
答案 0 :(得分:2)
您可以使用System.Web.HttpUtility.UrlEncode方法对网址的部分内容进行编码(甚至是其他网址)。
如果它是路径的一部分而不是查询字符串,UrlPathEncode应该完成这项工作。
答案 1 :(得分:0)
如果您不想使用查询字符串部分,那么为什么要对网址部分进行编码?
以下网址完全有效:
http://localhost/www.stackoverflow.com/1234/abc
如此RFC中所述,字符,“ - ”和“。”允许在URI中。