Показать сообщение отдельно

  #8  
Старый 20.05.2009, 19:08
Flame of Soul
Участник форума
Регистрация: 25.05.2007
Сообщений: 290
С нами: 9980798

Репутация: 435
Отправить сообщение для Flame of Soul с помощью MSN
По умолчанию

Данная функция позволяет Вам проверить существование определённого адреса(URL) в интернете. URL может быть как с префиксом http:// так и без него - эта функция добавляет префикс http:// если он отсутствует (необходимо для функции internetOpenUrl которая так же поддерживает FTP:// и gopher:// Эта функция проверяет только два возвращаемых кода '200'(ОК) или '302' (Редирект), но Вы можете заставить проверять функцию и другие коды. Для этого достаточно модифицировать строчку "result := ".

PHP код:
uses wininet;

function 
CheckUrl(urlstring): boolean;
var
  
hSessionhfilehRequesthInternet;
  
dwindexdwcodelendword;
  
dwcode: array [1..20of char;
  
respchar;
begin
  
if pos('http://'lowercase(url)) = 0 then
    url 
:= 'http://'+url;
  
Result := false;
  
hSession := InternetOpen('InetURL:/1.0'INTERNET_OPEN_TYPE_PRECONFIGnilnil0);
  if 
assigned(hsessionthen
  begin
    hfile 
:= InternetOpenUrl(hsessionpchar(url), nil0INTERNET_FLAG_RELOAD0);
    
dwIndex := 0;
    
dwCodeLen := 10;
    
HttpQueryInfo(hfileHTTP_QUERY_STATUS_CODE, @dwcodedwcodeLendwIndex);
    
res := pchar(@dwcode);
    
result := (res '200') or (res '302');
    if 
assigned(hfilethen
      InternetCloseHandle
(hfile);
    
InternetCloseHandle(hsession);
  
end;
end
 
Ответить с цитированием