如何获取目标网址?

时间:2011-01-17 15:53:10

标签: c#

我正在编写一个从.css中提取图像文件的应用程序。 首先,我扫描HTML文件以提取所有.css文件:


在HTML中我有这样的东西:

<link rel="stylesheet" type="text/css" media="screen" href="TemplatesFBL/Styles/screen.css" />

www.mysite.com/Templates/Styles/screen.css 是我的第一个目标链接。
在该文件中我可能有这样的事情:

  

背景图像:网址( '../图像/ CssImg / pageShadowSides.gif');

问题是,我如何结合 www.mysite.com/Templates/Styles ../ Images / CssImg / pageShadowSides.gif 才能获得 www.mysite.com/Templates/Images/CssImg/pageShadowSite.gif
我可以使用一些内置函数,还是必须自己编写?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您正在寻找Uri class

为基本网址存储Uri,然后使用相对路径创建新的Uri

var baseUri = new Uri("http://www.mysite.com/Templates/Styles/screen.css", UriKind.Absolute);
var fullUri = new Uri(baseUri, "../Images/CssImg/pageShadowSides.gif");

请注意,CSS文件名应包含在URL中 由于它不以斜杠结尾,因此Uri解析器将意识到它是一个文件名并且行为正确。