Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];

Вниз

Как определить работоспособность 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.008 c
4-32092
Fellomena
2002-08-27 15:31
2002.10.10
WM_CONTEXTMENU & Hooks (in Win2k)


1-31684
grifon
2002-09-30 15:36
2002.10.10
Ord


1-31894
PaRL
2002-09-29 15:28
2002.10.10
Глобальные переменные.


4-32072
ikivio
2002-08-26 03:48
2002.10.10
Есть некий процесс. Как узнать кто его породил?


1-31858
Walker
2002-09-29 00:39
2002.10.10
COM, интерфейсы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский