Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить работоспособность URL-ссылки? [D5, D6, Win95/98, WinXP]


kofman ©   (2002-08-11 00:33:00) 

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


kofman   (2002-08-11 21:53:00) [1]

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


int64   (2002-08-11 16:32:00) [2]

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

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;


Дерзай.


Наверх

Титульная страница Поиск, карта сайта Написать письмо