[函数]function CheckUrl(url: string): Boolean; //检查一个URL是否有效函数

[函数]function CheckUrl(url: string): Boolean; //检查一个URL是否有效函数
// 检查一个URL是否有效函数

// 可用来检测网络连接是否正确,InternetCheckConnection函数检查不准确,有些情况无法检测到,而以下CheckUrl函数则不会。
// uses wininet;
function CheckUrl(url: string): Boolean; 
var
  hSession, hfile, hRequest: hInternet;
  dwindex, dwcodelen: dword;
  dwcode: array[
1 .. 20 ] of Char;
  res: PChar;
begin
  Result :
=  false;
  
if  Pos( ' http:// ' , LowerCase(url))  =  0 then  url : =   ' http:// '   +  url;
  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 ' );  // 200 ,302未重定位标志
    
if  Assigned(hfile) then
      InternetCloseHandle(hfile);
    InternetCloseHandle(hsession);
  end;
end;


作者Blog: http://blog.csdn.net/siow/

你可能感兴趣的:([函数]function CheckUrl(url: string): Boolean; //检查一个URL是否有效函数)