Uri.TryCreate的输入参数,出了什么问题

本文关键字:什么 问题 参数 TryCreate 输入 Uri | 更新日期: 2023-09-27 18:31:28

我们下载的HTML页面很少,链接断开(相对路径),并且每个页面都是从中下载的原始URL。

我们正在使用 - 将所有相对链接转换为绝对链接 -

Foreach (anchorElement in page) -
    Uri.TryCreate( originalPageURI, hrefRelativeURI, hrefAbsoluteURI )

这适用于大多数情况,但以下情况除外 -

originalPageURI = http://somewebsite.com/post.jsp?item=22
hrefRelativeURI = ?item=97

对于上述TryCreate()失败的情况,Uri.TryCreate()的输入参数是什么?

Uri.TryCreate的输入参数,出了什么问题

您无法解决 Uri 问题?item=97因为它不是相对路径,而是查询字符串。

因此,您要做的是手动构建连接各部分的新 URL。

您应该使用:

  • originalFolderPath ,作为原始 URL 中到最后一个'/'的部分。您可以将"true"相对路径连接到此路径以获取绝对 uri。(即那些不以?开头的)

  • originalFilePath ,作为原始 URL 到'?'的部分。您可以将"假"相对路径连接到此部分。false 是那些表示查询字符串参数的参数(即以 ? 开头

  • 的参数)。