请教如何验证HTTP地址的准确性(50分)

  • 主题发起人 主题发起人 gingko
  • 开始时间 开始时间
G

gingko

Unregistered / Unconfirmed
GUEST, unregistred user!
数据表中有一列存放各类网址,由于网址常常动态改变,需要定期对网址进行验证
是否表中网址还能链接到指定网页
我还想作一个能自动获取网页上某些(可点击)内容的链接网址的程序,但不知从何下手

请教大虾指教,请给点实例,多多指点
 
要看你的地址列表中的 URL 是指向的网站还是网站上的文件,比如:
是 http://beta.delphibbs.com 还是 http://beta.delphibbs.com/hello.txt

如果是网站,直接用 InternetOpen + InternetConnect 就可以了
如果是文件,则再加上 HttpOpenRequest + HttpSendRequest + InternetReadFile 就可以了
(记得 uses WinInet)
这几个函数的具体参数均可在 MSDN 中找到详细的说明。
 
to beta
应该两种情况都有,我没有作过这方面的东东,谢谢指教
 
我想起来了,还有一种情况: http://beta.delphibbs.com/aDirectory/

三种情况都有,那就过滤一下,用一个函数判断是网站还是文件:(随手写的,未调试)
// 首先,你应该保证你的这些网址都是合法的。

function CheckURLType(URL: string): Integer;
var
i: Integer;
begin
Delete(URL, 1, 7)
// 滤掉 'http' + ':' + '//'
if Pos('/', URL) > 0 then
Delete(URL, 1, Pos('/', URL)) // 滤掉 'beta.delphibbs.com/'
else
begin
Result := 1
// 网站,末尾没有 '/'
Exit;
end;
if Length(URL) > 0 then
begin
if Pos('.', URL) > 0 then
Result := 3 // 文件
else
Result := 2
// 目录
end
else
Result := 1
// 网站
end;

然后再根据不同的类型分别写函数进行检查。
 
谢谢beta,我都没有想到有三种情况,
不过我的编程真是臭,到现在还没成功,再学习
 
还有问题?
 
后退
顶部