0


我正在尝试解析页面以查找所有有效的 url,但这是一个问题。页面上有 3 种类型的链接:url (_http://site.com/dir/page.html)、绝对 uri (/dir/page.html) 和相对 uri (dir/page.html 没有斜线开始) . 可能我对术语有误,我不是 html 编码器。但无论如何,情况并非如此。

我需要查找并收集所有 url(即 _http://site.com/dir/subdir/page.html 等)。这就是问题所在。如果有一个页面 _http://site.com/dir/page.html 有一个像 <a href="subdir/page.html">link</a> 这样的链接,它应该把我们带到 _http://site .com/dir/subdir/page.html。但是如果页面头部有<base href="/">,则相同的链接指向_http://site.com/subdir/page.html,即不同于_http://site。

问题是页面上的 html 代码中是否还有其他内容可以影响目标 url。
提前致谢。

4

2 回答 2

0

在 HTML 中,除了你提到的 href 基础之外没有别的东西

可能会变得棘手并且应该考虑的是脚本执行可能会在页面上建立链接,因此诸如 window.location.href = something 之类的东西。如果清楚地说明链接,这将很容易,但它们也可能由脚本计算,然后您可能会错过链接或通过使用简单的解析误读它。

于 2013-02-20T23:17:17.483 回答
0

您的问题实际上是 html 中的 url 链接如何工作,请阅读:http ://www.webdevelopersnotes.com/design/relative_and_absolute_urls.php3 。所以说你在 /admin/ 并且你需要 /admin/login.aspx 。我的相对 URL 是 login.aspx,而我的绝对 URL 是 /admin/login.aspx 有意义吗?

所以基本上我所说的是考虑你的链接是从哪个目录提供的。这将确定要使用的 url 链接的类型和内容。

除此之外,如前所述,jscript 和服务器端代码也可以进行链接。

于 2013-02-20T23:25:27.687 回答