我们下载的HTML页面很少,链接断开(相对路径),我们有每个页面下载的原始网址。
我们正在使用 -
将所有相对链接转换为绝对链接Foreach (anchorElement in page) -
Uri.TryCreate( originalPageURI, hrefRelativeURI, hrefAbsoluteURI )
这适用于大多数情况,但以下情况除外 -
originalPageURI = http://somewebsite.com/post.jsp?item=22
hrefRelativeURI = ?item=97
对于Uri.TryCreate()
失败的上述情况,TryCreate()
的输入参数是什么?
答案 0 :(得分:2)
您无法使用Uri解决问题,因为?item=97
不是相对路径,而是查询字符串。
因此,您需要做的是构建手动连接部件的新URL。
您应该使用:
originalFolderPath
,作为原始网址直到最后'/'
的部分。你可以加入这个“真正的”相对路径来获得绝对的uri。 (即那些不以?
开头的
originalFilePath
,作为原始网址中'?'
的部分。您可以加入此部分的“错误”相对路径。 false表示查询字符串参数(即以?
开头的那些参数)。