1

我们下载的 HTML 页面很少,有损坏的链接(相对路径),并且我们有每个页面下载的原始 URL。

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

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

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

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

hrefRelativeURI = ?item=97

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

4

1 回答 1

2

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

因此,您需要做的是手动构建新的 URL 来连接这些部分。

你应该使用:

  • originalFolderPath,作为原始 URL 的最后一部分'/'。您可以加入到此路径的“真实”相对路径以获取绝对 uri。(即那些不以 开头的?

  • originalFilePath,作为原始 URL 的一部分,直到'?'. 您可以加入此部分的“假”相对路径。false 是那些表示查询字符串参数的参数(即以 开头的参数?)。

于 2012-04-16T16:26:51.353 回答