C# 在url中包含url

C# 在url中包含url,c#,asp.net,url,encode,C#,Asp.net,Url,Encode,我想使用我的url的以下格式: http://localhost/{url}/{options}/{hash} 但是,由于url中包含url会非常奇怪,我将如何对其进行编码 我正在考虑用十六进制编码,因为.net中的url编码给了我一些奇怪的结果,而这些结果在url中是不起作用的。但我真的不知道什么才是最好的方法 我希望保留url的结构,不包括任何查询字符串。您可以使用该方法对url的一部分(甚至是另一个url)进行编码 如果它是路径的一部分,而不是查询字符串,则应该执行此任务。如果不需要查询

我想使用我的url的以下格式:

http://localhost/{url}/{options}/{hash}
但是,由于url中包含url会非常奇怪,我将如何对其进行编码

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

我希望保留url的结构,不包括任何查询字符串。

您可以使用该方法对url的一部分(甚至是另一个url)进行编码


如果它是路径的一部分,而不是查询字符串,则应该执行此任务。

如果不需要查询字符串部分,那么为什么要对url部分进行编码

以下url完全有效:

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

如本文所述,URI中允许使用字符“-”和“.”。

这似乎仅在将其与查询字符串一起使用时有效。不使用url-part。我会立即尝试,谢谢。如果有效,会将您的答案标记为已解决:)当我尝试将我的url插入另一个url时,就像没有更改一样。(已尝试但单独和完整的url)您能给出一个如何使用它的示例吗?如果url(在url内)包含查询字符串,则无法使用。您提到您不希望包含查询字符串。如果您想在路径中包含查询字符串数据,那么您可以自己开发一个编码方案,比如用“-.-”替换“&”,或者用“.-”替换“=”。虽然这不是一个理想的解决方案,但它可能会起作用。再次阅读我的回答中提到的RFC将给你一个如何为你的情况制定方案的想法。