我正在开发一个 C#/ASP.Net 应用程序,我正在尝试找到一种将 URL 分解为其组成部分,然后换出或删除这些部分并创建新 URL 的方法。
例如,如果我有以下 URL:
我想将 URL 拆分为:
- 协议(protocol)(http、https、ftp 等)
- 域 (www.site.com)
- 页面(page.aspx)
- URL 参数(parm1 = value1,parm2 = value2)
一旦 URL 被拆分,我想操作每个部分,例如:
- 添加或删除参数
- 改变参数值
- 将页面从 page.aspx 更改为 page2.aspx
然后,一旦我完成创建一个新的 URL 以用于上述更改。
我已经查看了 MSDN 文档等,但在 .Net 中找不到一个实用程序类来处理这个问题。有什么想法吗?
干杯, 史蒂夫
最佳答案
框架自带 UriBuilder class为此目的。
它具有您需要的东西的获取/设置属性:
- 协议(protocol):Scheme属性(property)
- 域名:Host属性(property)
- 页码:Path属性(将为您提供完整路径,您可能需要在此处进行一些处理)。
- 参数:Query属性(作为字符串公开,您可能需要自己对字符串进行一些处理)。
当您完成对 UriBuilder 的操作后,使用 Uri 属性将结果作为 Uri 对象获取,或者如果您只需要将 URL 作为字符串,则仅使用 ToString()。
关于c# - 如何在 ASP.Net 中解析和重建 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3762512/