Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.25;
Скачать: CL | DM;

Вниз

idhttp1.Get зависает   Найти похожие ветки 

 
Student85236   (2009-08-27 12:02) [0]

пытаюсь перегрузить роутер использую indy
но программа зависает на отправке get запроса как исправить?
begin
idhttp1.Request.BasicAuthentication :=true;
idhttp1.Request.Username:="admin";
idhttp1.Request.Password:="admin";
idhttp1.Get("http://10.39.1.33/cgi-bin/reset.cgi")  ;
idhttp1.Free;
end;


 
Сергей М. ©   (2009-08-27 12:07) [1]


> пытаюсь перегрузить роутер использую indy


А что, роутер этот не поддерживает snmp-управление, в частности snmp-ребут ?
Только веб-интерфейс и без вариантов ?


 
Student85236   (2009-08-27 12:09) [2]

Только веб-интерфейс


 
Сергей М. ©   (2009-08-27 12:13) [3]

А что за дивайс ?


 
Student85236   (2009-08-27 12:15) [4]

Axesstel MV420


 
Сергей М. ©   (2009-08-27 12:17) [5]

И перезагружать ты его пытаешься, видимо, удаленно, т.е. роутер и твой http-клиент находятся в разных подсетях, так ?


 
Student85236   (2009-08-27 12:20) [6]

да команда проходит только зависает в режиме отладки на get запросе как бы это обнулить?


 
Сергей М. ©   (2009-08-27 12:24) [7]


> только зависает в режиме отладки на get запросе


А если запускать не из-под отладчика, то что возвращает Get() ?


 
Student85236   (2009-08-27 12:27) [8]

как это проверить подскажите пожалуйста


 
Медвежонок Пятачок ©   (2009-08-27 12:28) [9]

убрать idhttp и взять idtcpclient
послать гет, ответ не читать


 
Сергей М. ©   (2009-08-27 12:28) [10]

Не понял, чего проверить ?


 
Медвежонок Пятачок ©   (2009-08-27 12:29) [11]

либо посмотреть, может там роутер редиректом отвечает, а у тебя он не включен


 
Student85236   (2009-08-27 12:30) [12]

ответ какой функцией прочитать?


 
Медвежонок Пятачок ©   (2009-08-27 12:31) [13]

а ты вообще уверен, что ответ есть?


 
Student85236   (2009-08-27 12:33) [14]

да я забыл там идёт редирект


 
Student85236   (2009-08-27 12:35) [15]

хорошо а как тогда на IdTCPClient сделать авторизацию?


 
Сергей М. ©   (2009-08-27 12:35) [16]


> может там роутер редиректом отвечает


Скорее всего именно так и отвечает - редиректом на, скажем, http://10.39.1.33/start.htm.

Др.вопрос, что http-клиент, если ему разрешено, тут же ринется по редиректу, а хост роутера и его веб-сервер поднимутся далеко не сразу, тем паче если роутер ходит во внешние сети (откуда автор , полагаю, пытается ребутить свой дивайс) через PPP


 
Медвежонок Пятачок ©   (2009-08-27 12:36) [17]

И что у нас в HandleRedirect?


 
Student85236   (2009-08-27 12:38) [18]

как посмотреть ? HandleRedirect


 
Сергей М. ©   (2009-08-27 12:39) [19]


> как тогда на IdTCPClient сделать авторизацию?
>


Точно так же как ее делает IdHTTP, только придется это делать ручками.
А зачем тебе авторизация ? Ты же уже авторизовался средствами IdHTTP, осталось только исхитриться послать средствами этого же компонента запрос без ожидания ответа


 
Student85236   (2009-08-27 12:40) [20]

а как не ждать ответ? он мне в принципе не нужен


 
Медвежонок Пятачок ©   (2009-08-27 12:41) [21]

ты чего такой трудный-то?


 
Медвежонок Пятачок ©   (2009-08-27 12:45) [22]

http://img198.imageshack.us/img198/5687/redirectalb.jpg

а как не ждать ответ?
убрать idhttp и взять idtcpclient
послать гет, ответ не читать


 
Student85236   (2009-08-27 12:49) [23]

у меня стоит false


 
Anatoly Podgoretsky ©   (2009-08-27 12:53) [24]

Какой ответ, когда роутер прекращает существование, тут нужно переподключение к рутеру. И программа видимо не зависает, а ожидает таймаута.


 
Медвежонок Пятачок ©   (2009-08-27 12:54) [25]

у меня стоит false

И теперь ты молодец?


 
Student85236   (2009-08-27 13:21) [26]

)


 
Сергей М. ©   (2009-08-27 13:27) [27]


> Student85236


Перед вызовом Get() для отправки запроса на ребут подмени на время объект IdHttp.IOHandler на своего наследника TIdIOHandler с перекрытым методом ReadLn, в котором возвращай пустую строку.


 
Student85236   (2009-08-27 14:25) [28]

Спасибо большое но как я незнаю если бы написали )


 
Сергей М. ©   (2009-08-27 14:27) [29]

Что не понятно ?


 
Student85236   (2009-08-27 14:54) [30]

пытаюсь сделать на ics

begin

 httpcli1.URL:="http://10.39.1.33/cgi-bin/reset.cgi";
 httpcli1.Password:="admin";
 httpcli1.Username:="admin";
try
httpcli1.Get;
except
Exit;
end;
if (HttpCli1.StatusCode) = 200 Then
    writeln("ok") else
    writeln("Error "+IntToStr(HttpCli1.StatusCode));

end;


 
Сергей М. ©   (2009-08-27 14:56) [31]

И ?


 
Student85236   (2009-08-27 14:58) [32]

всё равно весит там скорее всего идёт редирект мне не нужен ответ от сервера как это избежать? или получил там ответ 302 и всё


 
Медвежонок Пятачок ©   (2009-08-27 15:00) [33]

Интересно, когда же он догадается включить HandleRedirects?


 
Student85236   (2009-08-27 15:02) [34]

в ics ?


 
Медвежонок Пятачок ©   (2009-08-27 15:06) [35]

да пофик где


 
Сергей М. ©   (2009-08-27 15:08) [36]


> Student85236


И долго ты еще будешь метаться по разным компонентам, в надежде что авось оно само как-нибудь волшебным образом заработает ?


 
Student85236   (2009-08-27 15:09) [37]

как ! я не знаю где это подскажи!!!!!


 
Student85236   (2009-08-27 15:12) [38]

)


 
Сергей М. ©   (2009-08-27 15:15) [39]

HandleRedirects - это опубликованное свойство TIdHTTP, это в Инспекторе Объектов видно.
Ты вообще туда заглядывал, в Инспектор Объектов ??


 
Student85236   (2009-08-27 15:15) [40]

HandleRedirects := true;



Страницы: 1 2 вся ветка

Текущий архив: 2009.10.25;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.021 c
4-1220621752
Demo_nik
2008-09-05 17:35
2009.10.25
Как определить путь к каталогу в котором нахожусь?


2-1251174172
Danila.R
2009-08-25 08:22
2009.10.25
Как вводя данные в Edit, вывести их в Мемо?


2-1251725937
Rembo
2009-08-31 17:38
2009.10.25
IdHttp.Post мультистрочная переменная


1-1222010444
Д С
2008-09-21 19:20
2009.10.25
Как задать толщину линии TPen.Width равную 1 мм?


8-1198524383
XeON
2007-12-24 22:26
2009.10.25
Вырезать часть картинки