Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как проверить существует ли URL, не заходя на него idHttp.Get 
:(
    Опции темы
Teran
  Дата 29.8.2006, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Как можно проверить существует ли URL используя idHttp не используя GET так как он занимает много времени?


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
_hunter
Дата 29.8.2006, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



никак. потому как кроме сервера никто не знает есть ли у него искомый документ.


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Teran
Дата 29.8.2006, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



а можно ли с помощью idHttp сделать автоматический редирект ка это делает например IE
если сделать Http->Get("http://mail.yandex.ru"); то выдаст exception, но когда в эксплорере набрать тоже самое его перенаправит на http://mail.yandex.ru/login


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Matematik
Дата 29.8.2006, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



IdHttp.Head(url)
PM MAIL WWW ICQ   Вверх
Teran
Дата 30.8.2006, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(Matematik @  29.8.2006,  20:17 Найти цитируемый пост)
IdHttp.Head(url) 

не всегда работает нормально, некоторые URL проходит при Head - нормально а при GET вызывают exception


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Snowy
Дата 30.8.2006, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



HandleRedirects установи в true
PM MAIL   Вверх
Teran
Дата 30.8.2006, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(Snowy @  30.8.2006,  09:34 Найти цитируемый пост)
HandleRedirects установи в true 

а где получить URL на который перебросило?


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Snowy
Дата 30.8.2006, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



В событии OnRedirect получишь все урлы, через которые тебя редиректнуло.
PM MAIL   Вверх
MacTep
Дата 18.2.2007, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: нет
Всего: 4



А какую именно ошибку выдает idhttp.Get, когда URL не существует? Как отловить именно ее??? А то я делаю так:
Код

              try
                url:='http://'+dir+'/import.php?com=pul&pwimport='+edPassword.Text;
                s:=http.Get(url);
              except
                ShowMessage('Возможно URL не существует!');
                Application.Terminate;
              end;

Это общаю ошибка, любая ошибка выдаст такое сообщение. А что сделать, чтобы только на ошибку несуществующего URL выводилось такое сообщение?


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Matematik
Дата 18.2.2007, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



except
  on E:EIdProtocolReplyError do
    if E.ReplyErrorCode=404 then
      ShowMessage('Файла нет')
end

Список кодов состояния HTTP
PM MAIL WWW ICQ   Вверх
MacTep
Дата 19.2.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: нет
Всего: 4



Там вылезает ошибка
Код

Socket Error # 11004

И твой код, Matematik, не подходит...


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
MetalFan
Дата 19.2.2007, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



MacTep, почему это не подходит? всем подходит, а тебе нет!
Tools-Debugger Options-Language Exceptions-Stop On Delphi Exceptions
или там же add...->"EIdException"
p.s. это я к тому, что инди пользует исключения для уведомления программиста о нештатных ситуациях...

Это сообщение отредактировал(а) MetalFan - 19.2.2007, 12:09


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Matematik
Дата 19.2.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



Сервер не обязан говорить что файла нет. Например http://ya.ru/aaaaaa.aaa
PM MAIL WWW ICQ   Вверх
creas0ft
Дата 22.2.2007, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: 2
Всего: 2



--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1072 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.