怎样得到网页源代码里某个文件的绝对链接路径?(25分)

  • 主题发起人 主题发起人 xli
  • 开始时间 开始时间
X

xli

Unregistered / Unconfirmed
GUEST, unregistred user!
如果知道一个页面的网址,怎样能得到该页面的源代码里某个文件的完整链接路径呢?
因为很多网页源代码里的文件是用相对路径来表示的,假设:“src=/aa/bb/xx.exe”,
那么怎样才能得到xx.exe文件的完整链接路径呢?
(比如:http://www.***.com/cgi-bin/aa/bb/xx.exe)
最好能给出源代码。谢谢!
 
这样:
WebBrowser:
doc2 : IhtmlDocument2;
col : IhtmlElementCollection;
s: string;
1. 先弄到url: s:=doc2.get_url;
2. 弄到src的内容: 如果是图片,col:=doc2.get_image;
然后for 0 to col.length-1 取 src
3. 弄到url和src, 就可以连起来了: URL + SRC = 全名
4. 有时 src 是 ./XXXX/xXxX的, 要处理掉前面的点。
 
1.取出src=/aa/bb/xx.exe中的路径如:/aa/bb/xx.exe,有绝对路径与想对路径两种
如果是以/开始的为绝对路径,否则为相对路径。
2.如果绝对路径则先取的主机地址即//与第一个/之间的部分,这样就可以把主机地址
与前面得到的绝对路径组合成完整的路径了。
3.如果是相对路径就直接当前的网址与该路径直接拼装成完整的路径就可以了,当然
要注意当前网址最后又无/。
4.还有一种相对路径就是../的形式有可能为多个如:../../../这样的话可以取得开始
的连续的../的个数n,再分析当前地址从最后起找到第n个/再去拼装。
 
另外:我一向不主张要源码,关键是要你理解了原理,
得到了思路,才是最重要的,这是鱼和渔的区别,希望
你能仔细体会。
具体的webbrowser内容,在MSDN盘上,或MS的ONline MSDN站
非常详细。
http://msdn.microsoft.com/default.asp
在搜索区输入IhtmlDocument2,可以看到所有method.
 
不用IhtmlDocument2呢?
只有原文件呢?
 
为什么不用IhtmlDocument2呢?
什么叫只有原文件呢?
如果是指在硬盘上的html,其实已经不知道它的原URL了
所以路径也没法用了,只能用当前目录代替原URL。
 
多人接受答案了。
 
后退
顶部