|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.03.2011, 17:18 | #1 |
Пользователь
Регистрация: 09.01.2011
Сообщений: 11
|
IdHTTP - проблема с Get запросом через некоторое кол-во скаченых мегабайт
Суть проблемы:
- посылается Get запрос на некоторый сайт: strmn:= IdHTTP1.Get('http://site.com/index.php');. - В strmn заносится страница сайта, которая в последствии анализируется. - После анализа, вновь посылается тоже самый запрос и так бесконечное кол-во раз: IdHTTP1.Get -> Анализ -> IdHTTP1.Get --> Через время, а вернее скачивания программой, посредствам Get запроса на одну и туже страницу, определенного количества мегабайт (в частности у меня начинается проблема после 180мб, смотрю по стате в оутпосте) происходит странная вещь. Как будто б в этом месте программы становится break - прерывается работа текущей процедуры (в частности нажатие на кнопку), т.е. не передается выполнение следующей строке после запроса. Ставлю бряк на строку кода с запросом, дойдя до него программа начинает его выполнять и уходит в дебри подключенных модулей но не выходит из него) Может кто сталкивался с подобной проблемой и знает как преодолеть сей интересный феномен? т.к. складывается впечатление что происходит либо переполнение какойто переменной, и процедера уходит в даун, либо затор и дальнейшее выполнение прерывается |
30.03.2011, 21:06 | #2 |
Форумчанин
Регистрация: 12.02.2009
Сообщений: 215
|
эээ, 180 Мб это что? размер страницы
хотя подозреваю, что просто суммарный объем данных. если последнее, скорее всего утечка памяти "шалит", тогда: 1. посмотреть как Ваша программа "жрет" память через диспетчер задач, если идет постоянный прирост памяти, то: 2. искать утечку памяти в своем коде (хотя утечка может быть и в коде компонент), если глазками не получается, то: 3. поставить менеджер утечки памяти (или как он там называется правильно). У Вас не понятно какая версия делфей, у меня Delphi 7 и использую MemProof. Вещь древняя, но найти можно и ловит утечки на ура. З.Ы. По своему опыту скажу, парсил сайты по 100 000 страниц, память жралась до 10 Мб маскиум , и то, потому, что накапливал большие объемы в переменных перед сбросом в базу
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
|
31.03.2011, 15:21 | #3 | ||||
Пользователь
Регистрация: 09.01.2011
Сообщений: 11
|
Цитата:
Цитата:
Цитата:
Цитата:
|
||||
31.03.2011, 15:46 | #4 |
Пользователь
Регистрация: 09.01.2011
Сообщений: 11
|
Забыл также указать: использую Indy версии 10.5.7
|
31.03.2011, 15:51 | #5 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
если там индюк только для банального GET, то переписать минут за 20 на синапсе и посмотреть, что получится.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
31.03.2011, 15:55 | #6 | |
Пользователь
Регистрация: 09.01.2011
Сообщений: 11
|
Цитата:
|
|
31.03.2011, 15:57 | #7 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
вторая ссылка в моём гугле по запросу synapse delphi:
http://parsing-and-i.blogspot.com/20...rst-steps.html
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
31.03.2011, 16:09 | #8 |
Пользователь
Регистрация: 09.01.2011
Сообщений: 11
|
Ок. Спасибо. перепишу на нем, посмотрю что выйдет. если честно все время использовал Indy, о таком компоненте первый раз слышу
|
02.04.2011, 17:13 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а можно код того как вы делали?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
03.04.2011, 12:55 | #10 |
Пользователь
Регистрация: 09.01.2011
Сообщений: 11
|
Пепел Феникса,
Код:
Код:
Код:
Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с авторизацией через IdHttp | ]Wowan[ | Работа с сетью в Delphi | 13 | 20.01.2011 02:42 |
WEB программисту-Требуется форма с запросом (наверное через iframe) | allpc | Фриланс | 0 | 26.11.2010 15:09 |
Проблемы с POST запросом через cURL | LonRv | PHP | 0 | 28.12.2009 17:56 |
двумерный динамический массив с запросом к пользователю о кол-ве строк и столбцов? | vasyapupkin | Общие вопросы C/C++ | 2 | 22.11.2009 17:37 |
1 Мегабайт | Xardas | Свободное общение | 11 | 24.02.2008 13:38 |