Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.10;
Скачать: CL | DM;

Вниз

Как определить работоспособность URL-ссылки?   Найти похожие ветки 

 
kofman ©   (2002-08-11 00:33) [0]

Уважаемые Мастера, подскажите пожалуйста, как быстро определить работоспособнось URL-ссылки? И если возможно с учетом того что сервер при обращении к нему может вообще не ответить, т.е. предусмотреть таймаут после которого однозначно понятно что ссылка не работает.


 
int64 ©   (2002-08-11 16:32) [1]

Ты должен быть онлайн, чтобы функция работала.

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;


Дерзай.


 
kofman ©   (2002-08-11 21:53) [2]

int64 - спасибо что откликнулся. И за код спасибо, но вот незадача, если сервер не отвечает, то твоя фунция будет долбить его до бесконечности, а как ограничить время тамаута?



Страницы: 1 вся ветка

Текущий архив: 2002.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-31777
VladP
2002-09-30 10:24
2002.10.10
TCollectionDescendant.Add


1-31686
Андреев Павел
2002-09-30 15:13
2002.10.10
properties


1-31685
Cobalt
2002-09-27 18:55
2002.10.10
Как выйти из оператора case?


3-31660
BIN
2002-09-20 11:44
2002.10.10
Вставка строки


1-31732
FireWorks
2002-10-01 12:38
2002.10.10
Размещение форм в dll