Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Сети > IOHandler value is not valid |
Автор: Akella 18.1.2010, 13:10 | ||
Нужно получить контент сайтов: novorossiysk.irr.ru/real-estate/rent и ivanovo.irr.ru/real-estate/rent Выполняю
В ответ: Project *****.exe raised exception class EIdIOHandlerPropInvalid with message 'IOHandler value is not valid'. Process stopped. Use step or run to continue. Что подсунуть idHTTP в качестве IOHandler? Пробовал IdIOHandlerStream и IdIOHandlerStack - не помогает, другие ошибки вываливаются. Вот ещё в догонку. Может ошибка связана IdCompressorZLibEx. Не могу найти компоненту в дельфи IdCompressorZLibEx, хотя не форме он лежит в основном проекте. Создаю новый проект. Открываю существующий. Копирую в IdCompressorZLibEx1 из существующего. Вставляю в новый. Ошибка: class TIdCompressorZLibEx not found D2007. Indy 10.1.5 Добавлено @ 13:14 Хотя компонент вроде как установлен: http://fastpic.ru/view/1/2010/0118/802a5f357e04693535152aa441927a56.jpeg.html Путь прописан: $(BDS)\Lib\Indy10 Файл присутствует: C:\Program Files\CodeGear\RAD Studio\5.0\lib\Indy10\IdCompressorZLibEx.dcu |
Автор: Akella 18.1.2010, 15:48 |
C IdCompressorZLibEx разобрался. Связи с ошибкой "'IOHandler value is not valid" нет. Щёлкнул правой кнопкой по палитре компонент. Выполнил команду reset. Дальше. Относительно IOHandler value is not valid. Ошибочка со ссылкой. На самом деле на этих страничках idHTTP спотыкается: novorossiysk.irr.ru/advert/55647193/ novorossiysk.irr.ru/advert/55718429/ novorossiysk.irr.ru/advert/49045114/ что там может быть военного |
Автор: Akella 18.1.2010, 16:19 |
Делаю простой эксперимент. На форму кидаю IdHTTP и Memo В этом случае в мемо попадает текст без ошибок :( Настройки IdHTTP одинаковые. |
Автор: Akella 18.1.2010, 17:12 |
Начинаю соображать. В конце страничек есть баннеры. один из баннеров ведёт на pronto.ru, когда заходишь на сайт браузером, то автоматом попадаешь на https, хотя ссылка на страничке http. Тут-то IdHttp и загинается, гад. Что можно придумать? Добавлено через 5 минут и 39 секунд Вопрос такой. Как IdHttp заставить не заходить на другие сайты? |
Автор: Romikgy 18.1.2010, 18:06 |
а если попробовать заюзать OnRedirect и проверять куда нужно а куда нет .... |
Автор: Keeper89 18.1.2010, 19:19 |
Akella, Для защищенных соединений (SSL) можно поместить компонент IdSSLIOHandlerSocket и подсунуть его в IOHandler. Плюс, что если парсить страницы для печати? На них вроде бы нет рекламы и редиректов. |
Автор: Akella 18.1.2010, 21:56 |
Нужно подсунуть или какой-то универсальный IOHandler, или подсовывать в какой-то момент SSL IOHandler ![]() Кто-нить поможет? ![]() |
Автор: Keeper89 18.1.2010, 22:58 | ||
Я это и предлагаю сделать ![]()
|
Автор: Akella 18.1.2010, 23:02 | ||||||
Это я и делаю. Добавлено через 41 секунду Вот, что интересует?
Добавлено через 4 минуты и 32 секунды Keeper89, ты понимаешь, изначально заходим на http, а там нам в лоб https.... Я с таким не сталкивался. Что делать в таких случаях? Если сразу связать TIdHTTP и TIdSSLIOHandlerSocketOpenSSL на этапе проектирования и выполнить TIdHTTP.get то получаем ошибку read time out Добавлено через 5 минут и 11 секунд
...или-или.... Добавлено через 11 минут и 54 секунды Звезда в шоке (с). ![]() Теперь и в новом проекте IOHandler value is not valid |
Автор: Akella 19.1.2010, 00:36 |
Короче, тут столько левого. создам я новую тему. |
Автор: Keeper89 19.1.2010, 00:41 |
Сделал тестовый проект, Indy 10.1.1. : http://slil.ru/28511360 |