检查一个URL是否有效

ssyyss 2003-02-14 09:22:16
:)
...全文
76 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xirumin 2003-02-14
  • 打赏
  • 举报
回复
学习
grail_ 2003-02-14
  • 打赏
  • 举报
回复
检查一个URL是否有效
这个函数将会检查URL是否有效。唯一的先决条件就是你必须在线。

URL前可能有 http:// 前缀,却省情况也是 http:// 作前缀,函数 internetOpenUrl 对 FTP:// 和 gopher:// 前缀均提供支持。



例子中我检查返回代码是否为 '200' 和 '302'(重定位标记),你也可以按你的需要修改返回码. 仅修改 the result := 表达式 这句即可.



uses wininet;



Function CheckUrl(url:string):boolean;

var

hSession, hfile, hRequest: hInternet;

dwindex,dwcodelen :dword;

dwcode:array[1..20] of char;

res : pchar;

begin

if pos('http://',lowercase(url))=0 then

url := 'http://'+url;

Result := false;

hSession := InternetOpen('InetURL:/1.0',

INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0);

if assigned(hsession) then

begin

hfile := InternetOpenUrl(

hsession,

pchar(url),

nil,

0,

INTERNET_FLAG_RELOAD,

0);

dwIndex := 0;

dwCodeLen := 10;

HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE,

@dwcode, dwcodeLen, dwIndex);

res := pchar(@dwcode);

result:= (res ='200') or (res ='302');

if assigned(hfile) then

InternetCloseHandle(hfile);

InternetCloseHandle(hsession);

end;



end;


1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧