Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.08.2012, 16:54
Pcrepair
 
Сообщения: n/a
По умолчанию TidHTTP Indy 10 отказывается закачать файл

Добрый день. в RAD XE2 есть компонент Indy TidHTTP 10.5.8
по ходу экспериментов не удалось закачать файл:
http://www.rusmedserver.ru/beaty/telo/45.html (файл вообще есть и браузером закачивается)
При попытке загрузки файла программа грузит процессор на 100%. причем это происходит для стандарного решения idhttp.get и с использование потока idHttp1.Get(URL, mStream); и с установкой ReadTimeout и ConnectTimeout в какое то значение(10000). HTTP анализатор показывает что все нормально. код страницы вобщем стандартный.

Никто не в курсе что за ерунда?
Ответить с цитированием
  #2  
Старый 12.08.2012, 17:24
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Pcrepair
Добрый день. в RAD XE2 есть компонент Indy TidHTTP 10.5.8
по ходу экспериментов не удалось закачать файл:
http://www.rusmedserver.ru/beaty/telo/45.html (файл вообще есть и браузером закачивается)
При попытке загрузки файла программа грузит процессор на 100%. причем это происходит для стандарного решения idhttp.get и с использование потока idHttp1.Get(URL, mStream); и с установкой ReadTimeout и ConnectTimeout в какое то значение(10000). HTTP анализатор показывает что все нормально. код страницы вобщем стандартный.

Никто не в курсе что за ерунда?
У меня инди не грузит процессор, но вываливается на строке
Код:
IdHTTP1.Get('http://www.rusmedserver.ru/beaty/telo/45.html');
С ошибкой "404 Not Found."

И действительно такой страницы не существует:
PHP код:
HTTP/1.1 404 Not Found
Date
Sun12 Aug 2012 13:18:34 GMT
Server
Apache/2.2.13 (Unixmod_ssl/2.2.13 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.10
Accept
-Rangesbytes
Content
-Length7196
Connection
close
Content
-Typetext/html 
Ответить с цитированием
  #3  
Старый 12.08.2012, 19:07
Pcrepair
 
Сообщения: n/a
По умолчанию

а браузер вообще страницу грузит и отображает
Ответить с цитированием
  #4  
Старый 12.08.2012, 20:34
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Pcrepair
а браузер вообще страницу грузит и отображает
Тогда качай через браузер
Не, я это серьёзно. Помню когда-то давным-давно качал какой-то компонентой, которая для закачки использует API Internet Explorer-а. Мне очень нравилось качать этой компонентой
Если нужно - могу поискать её у себя.
Правда может она уже устарела и не работает с новыми версиями Internet Explorer...
Ответить с цитированием
  #5  
Старый 12.08.2012, 21:09
Pcrepair
 
Сообщения: n/a
По умолчанию

Twebbrowser на других страницах спотыкается, и его уж точно ничем не поправить. проверял
Ответить с цитированием
  #6  
Старый 12.08.2012, 21:16
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Тыкаю по твоей ссылке в браузере, вижу картину Репина "Приплыли", что я делаю не так?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #7  
Старый 13.08.2012, 10:10
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

написал бы минимальное приложение на TClientSocket:

Код:
  ClientSocket1.Port:=80;
  ClientSocket1.Host:='www.rusmedserver.ru';
  ClientSocket1.Open;
...
  ClientSocket1.Socket.SendText('GET /beaty/telo/45.html HTTP/1.1'#13#10
    +'Host: www.rusmedserver.ru'#13#10#13#10);

получил бы ответ:

Код HTML:
HTTP/1.1 404 Not Found Date: Mon, 13 Aug 2012 05:41:51 GMT Server: Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.10 Accept-Ranges: bytes Content-Length: 7196 Connection: close Content-Type: text/html <HTML><HEAD><TITLE>Упс. Приехали.</TITLE> <meta http-equiv="content-type" content=text/html; charset=Windows-1251> <meta name="keywords" content=" Error 404"> <meta name="description" content=" Error 404"> <SCRIPT language=javascript> <!-- var tl = new Array( "Такой страницы не существует.", "Почему?", "Давайте подумаем.", "URL неправильный.", "Админ удалил эту страницу.", "Этой страницы никогда и не было.", "Не уходите только, мне так одиноко тут.", "Давайте поищем вместе.", "Наверху есть большое меню. Там много пунктов.", "Внутри этих пунктов есть еще подменю.", "Клацайте, не бойтесь!", "Вспомнил!", "У нас есть еще форум! Спросите там.", "Могу на других серверах поспрашивать.", "Спрашивал, у них нет.", "Что ответили на форуме?", "Не заходили? Зайдите обязательно.", "У нас гора информации, точно найдете.", "Нет. Сам я искать не буду.", "Я не вредный. ", "Минутку. Почта пришла.", "Вас тоже спамеры замучали?", "С Вами так приятно поговорить. Тут такая скука.", "Как Вам картинка, кстати?", "Ладно, мне пора. Работа.", "Совсем забыл. Доб авьте нас в закладки.", "Заходите, пообщаемся.", "До свидания. Не болейте!", "" ); var speed = 40; var index = 0; text_pos = 0; var str_length = tl[0].length; var contents, row; function type_text() { contents = ''; row = Math.max(0, index-7); while (row<index) contents += tl[row++] + '\r\n'; document.forms[0].elements[0].value = contents + tl[index].substring(0,text_pos) + "_"; if (text_pos ++== str_length) { text_pos = 0; index++; if (index != tl.length) { str_length = tl[index].length; setTimeout("type_text()", 1500); } } else setTimeout("type_text()", speed); } //--> </SCRIPT> <link rel="stylesheet" href="http://www.rusmedserver.ru/stylemain.css" type="text/css" media="screen" /> <META content="MSHTML 6.00.2800.1106" name=GENERATOR 6.00.2900.2180></HEAD> <BODY onload=type_text() > <div id="wrapper2"> <a href="http://www.rusmedserver.ru/"><img src="http://www.rusmedserver.ru/images/logopurp.png" alt="на главную" class="logo" /></a> <!--Begin Feaured Article--> <div id="featured-container"> <div id="featured"> <div class="topmenu"><a href=http://www.rusmedserver.ru/med/anatomy/index.html>Анатомия</a> / <a href=http://www.rusmedserver.ru/med/bolezni/index.html>Описание болезней</a> / <a href=http://www.rusmedserver.ru/med/lek/a/index.html>Каталог лекарств</a> / <a href=http://www.rusmedserver.ru/lechenieboleznej.html>Лечение болезней</a>/ <a href=http://www.rusmedserver.ru/psihologija.html>Психология</a> / <a href=http://www.rusmedserver.ru/med/raznoe.html>Справочные материалы</a> </div> <div class="topmenu2"><a href=http://www.rusmedserver.ru/lekarstvennyerastenija.html>Лекарственные растения</a> / <a href=http://www.rusmedserver.ru/ochiwenie.html>Очищение</a> / <a href=http://www.rusmedserver.ru/joga.html>Йога</a> / <a href=http://www.rusmedserver.ru/med/narodn/raznoe.html>Разное</a> </div> <div class="topmenu"><a href=http://www.rusmedserver.ru/beauty/index.html>Похудение</a> / <a href=http://www.rusmedserver.ru/beauty/dietlist/index.html>Здоровое питание и диеты</a> / <a href=http://www.rusmedserver.ru/krasota.html>Красота</a> / <a href=http://www.rusmedserver.ru/beauty/massage.html>Массаж</a> / <a href=http://www.rusmedserver.ru/beauty/fam.html>Мужчина и женщина</a> / <a href=http://www.rusmedserver.ru/beauty/bart/index.html>Интересные статьи</a></div> <div class="topmenu2"><a href=http://www.rusmedserver.ru/child/index.html>Беременность и роды</a> / <a href=http://www.rusmedserver.ru/uhodzadetmi.html>Уход за детьми</a> / <a href=http://www.rusmedserver.ru/child/pitanie.html>Питан ие мам и кормление детей</a> / <a href=http://www.rusmedserver.ru/raznoe.html>Полезности</a></div> <div class="topmenu"><a href=http://forum.rusmedserver.ru/>наш форум</a> </div> </div> </div><!--End Feaured Article--> <div id="container"> <center> <div id="menuline">Ой! такой страницы нет. </div></center> <div id="sidebar2"> <div class="sidebar-box2"><h5>интересно</h5> </div> <div id="lx_3238">.</div> </div> <div id="left-div"> <center> <FORM><TEXTAREA rows=8 cols=60></TEXTAREA></FORM></center> <center><img src="http://www.rusmedserver.ru/images/404pic.jpg" width="300" height="434"/></center> </div> <div id="sidebar"> <div class="sidebar-box"><h5>интересно</h5> </div> <div id="lx_3236">.</div> </div> </div> <div id="footer"> <a href="http://www.rusmedserver.ru/send.html">Написать нам</a> | <a href="http://www.rusmedserver.ru/reklama.html">Рекламодателям</a> <!--Rating@Mail.ru COUNTEr--><script language=JavaScript type=text/javascript><!-- d=document;var a='';a+=';r='+escape(d.referrer) js=10//--></script><script language=JavaScript1.1 type=text/javascript><!-- a+=';j='+navigator.javaEnabled() js=11//--></script><script language=JavaScript1.2 type=text/javascript><!-- s=screen;a+=';s='+s.width+'*'+s.height a+=';d='+(s.colorDep th?s.colorDepth:s.pixelDepth) js=12//--></script><script language=JavaScript1.3 type=text/javascript><!-- js=13//--></script><script language=JavaScript type=text/javascript><!-- d.write('<a href=http://top.mail.ru/jump?from=1101883'+ ' target=_top><img src=http://d0.cd.b0.a1.top.list.ru/counter'+ '?id=1101883;t=55;js='+js+a+';rand='+Math.random()+ ' alt=Рейтинг@Mail.ru'+' border=0 height=31 width=88/><\/a>') if(11<js)d.write('<'+'!-- ')//--></script><noscript><a target=_top href=http://top.mail.ru/jump?from=1101883><img src=http://d0.cd.b0.a1.top.list.ru/counter?js=na;id=1101883;t=55 border=0 height=31 width=88 alt=Рейтинг@Mail.ru/></a></noscript><script language=JavaScript type=text/javascript><!-- if(11<js)d.write('--'+'>')//--></script><!--/COUNTER--> <!--LiveInternet counter--><script type="text/javascript"><!-- document.write("<a href='http://www.liveinternet.ru/click' "+ "target=_blank><img src='http://counter.yadro.ru/hit?t13.11;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";"+Math.random()+ "' alt='' title='LiveInternet: показано число просмотров за 24"+ " часа, посетителей за 24 часа и за сегодня' "+ "border=0 width=88 height=31><\/a>")//--></script><!--/LiveInternet--> <br> </div> <div style="clear: both;"></div> </div> <script> var __rt= Math.round(Math.random() * 100000); document.write('<scr'+'ipt language="javascript" type="text/javascript" src="http://luxup.ru/show/3238/?div=lx_3238&rt='+__rt+'&r='+escape(document.referrer)+'"><'+'/scr'+'ipt>'); </script> <script> var __rt= Math.round(Math.random() * 100000); document.write('<scr'+'ipt language="javascript" type="text/javascript" src="http://luxup.ru/show/3236/?div=lx_3236&rt='+__rt+'&r='+escape(document.referrer)+'"><'+'/scr'+'ipt>'); </script> </BODY></HTML>

посмотрел бы его внимательно:

Код HTML:
HTTP/1.1 404 Not Found Content-Type: text/html Content-Length: 7196

т.е. сервер возвращает 404 (не найдено) ошибку и "другую" страничку размером 7КБ. вот эту то "другую" страничку и отображает браузер. TIdHTTP же поднимает Exception на 404 код ответа.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #8  
Старый 13.08.2012, 16:01
Pcrepair
 
Сообщения: n/a
По умолчанию

NumLock, спасибо...НО
TIdHTTP же поднимает Exception на 404 код ответа

втом то все и дело, что никакого ексепшна на данном сайте и не поднимается. вообще у меня там есть обработка ошибок и в большинстве случаев 404 обрабатывается. а на этом поганом сайте и на множестве кстати других, программа зависает, начинает тупо гонять процессор и не выходит из попытки скачать что там она пытается скачать. видно что до обработки исключений дело вообще не доходит. по этому вопросу что нбуть известно?
Ответить с цитированием
  #9  
Старый 13.08.2012, 16:26
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

пройдись отладчиком по исходнику, если есть. у меня только Indy 9.00.10. ставить XE2 я не хочу.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #10  
Старый 13.08.2012, 17:41
Pcrepair
 
Сообщения: n/a
По умолчанию

Цитата:
Сообщение от NumLock
пройдись отладчиком по исходнику.
не совсем понял о чем речь. но вообще проверку провожу в режиме компиляции(а не запускаю откомпилированный файл.ехе), при этом при сбое компилятор не выводит сообщение и не указывает на код сбоя, а все просто тупо ЗАВИСАЕТ и висеть может вечно
Ответить с цитированием
  #11  
Старый 13.08.2012, 18:52
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

скопируй .pas файлы Indy, если они есть, в папку проекта и запусти с точкой останова на Get()
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #12  
Старый 13.08.2012, 19:10
Pcrepair
 
Сообщения: n/a
По умолчанию

что, все? или IdHTTP.pas достаточно?
Ответить с цитированием
  #13  
Старый 13.08.2012, 20:16
Pcrepair
 
Сообщения: n/a
По умолчанию

если компиляцию проводить по Ф7 то на строке
Memo1.Lines.Add(IdHTTP1.Get(Edit1.Text)); как раз все останавливается и загрузка проца 100%
а если поставить к примеру ya.ru то все нормально
Ответить с цитированием
  #14  
Старый 14.08.2012, 08:29
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Trace into не работает? посмотри не отключен ли $DEBUGINFO, добавь IdHTTP в проект.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #15  
Старый 14.08.2012, 08:42
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Через окошко CPU Window отлаживайся, не должно возникнуть такой оказии.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter