Форум: "Начинающим";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.049 c