win平台下, 检测网络是否连接最好的办法 [Delphi]检查URL是否有效的函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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 ;
|
http://www.cnblogs.com/chonghai/p/5581402.html
http://bbs.2ccc.com/topic.asp?topicid=514550
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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 ;
|