Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2009, 21:02   #1
AnalogXP
Пользователь
 
Аватар для AnalogXP
 
Регистрация: 11.01.2008
Сообщений: 42
По умолчанию Проверка ссылки

Здарвствуйте!

Нужно проверить интернет адрес на существование, то есть жива ссылка или мертва.
Есть код который работает вполне нормально, но нужна еще и проверка с возможностью использования через прокси. Также нужна возможность проверки адресов через SSL (https).
Я с сетевым программированием не знаком, может поможете дополнить код чтобы можно было выполнить все необходимые задачи?

Код:
function CheckUrl( AURL: WideString ): Boolean;
const
  C_CLIENT: WideString = 'checkurl';
  C_HTTP_W : WideString = 'http';
  C_ADD_W: WideString = '://';
var
  lSession,
  lFile: hInternet;
  lBuf,
  lLen,
  lIdx: DWORD;
begin
  if Pos( C_HTTP_W, WideLowerCase( AURL ) ) <> 1 then
    AURL := C_HTTP_W + C_ADD_W + AURL;
  Result := False;
  lSession := InternetOpenW( PWideChar(C_CLIENT), PRE_CONFIG_INTERNET_ACCESS, nil, nil, 0);
  if Assigned(lSession) then
  try
    lFile :=InternetOpenURLW( lSession, PWideChar(AURL), nil, 0 , INTERNET_FLAG_RELOAD, 0);
    if Assigned( lFile ) then
    try
      lIdx := 0;
      lLen := SizeOf(lBuf);
      if HttpQueryInfoW( lFile, HTTP_QUERY_STATUS_CODE or HTTP_QUERY_FLAG_NUMBER, @lBuf, lLen, lIdx) then
        Result := (lBuf = 200) or (lBuf = 302);
    finally
      InternetCloseHandle( lFile )
    end;
  finally
    InternetCloseHandle(lSession);
  end;
end;
AnalogXP вне форума Ответить с цитированием
Старый 13.04.2009, 22:05   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Проще взять Idhttp , если необходима работа через прокси, то добавить соответствующий компонент с Indy Misc и использовать метод head компонента Idhttp
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 14.04.2009, 16:44   #3
AnalogXP
Пользователь
 
Аватар для AnalogXP
 
Регистрация: 11.01.2008
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
Проще взять Idhttp , если необходима работа через прокси, то добавить соответствующий компонент с Indy Misc и использовать метод head компонента Idhttp
Я приведенный код изменить нельзя?
AnalogXP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылки!!! саманта Помощь студентам 18 27.09.2008 21:38
Ссылки vitekbest Помощь студентам 1 01.06.2008 19:28
Ссылки Принц HTML и CSS 1 31.05.2008 15:46
html - ссылки Manitu Помощь студентам 1 24.03.2008 19:24