将完整 URL 和虚拟 URL 结合起来,就像浏览器一样

发布于 2024-11-06 08:48:56 字数 445 浏览 5 评论 0原文

我有一个完整的 URL,例如: A: http://www .domain.com/aaa/bbb/ccc/ddd/eee.ext

我有一个相对 URL,例如: B: ../../fff.ext

我正在寻找 .NET C# 中组合这两个 URL 并获取的最简单方法: C: http://www.domain.com/aaa/bbb/fff。 ext

这就像浏览器所做的那样:您正在浏览 URL A,然后,页面的 HTML 有一个超链接 B,结果 URL 是 C。

I have a complete URL like: A: http://www.domain.com/aaa/bbb/ccc/ddd/eee.ext.

I have a relative URL like: B: ../../fff.ext

I’m looking for the easiest way in .NET C# to combine these two URLs and get:
C: http://www.domain.com/aaa/bbb/fff.ext

This is like what browsers does: you’re browsing URL A, then, page’s HTML have an hyperlink as B, the resulting URL is C.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

止于盛夏 2024-11-13 08:48:56

您可能会更幸运地查找“PathCanonicalize”。

另外,根据我的发现,重载的 Uri 构造函数之一可以处理此问题:

Uri combined = new Uri(
  new Uri("http://www.domain.com/aaa/bbb/ccc/ddd/eee.ext", UriKind.Absolute),
  "../../fff.ext"
);

证据就在布丁中

You'd probably have better luck looking up "PathCanonicalize".

Also, with my findings, one of the overloaded Uri constructors can handle this:

Uri combined = new Uri(
  new Uri("http://www.domain.com/aaa/bbb/ccc/ddd/eee.ext", UriKind.Absolute),
  "../../fff.ext"
);

Proof is in the pudding

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文