![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
idhttp1.Get зависает [D7, XP]
Student85236 © (2009-08-27 12:02:00)пытаюсь перегрузить роутер использую 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 14:56:00) [21]И ?
Student85236 (2009-08-27 14:54:00) [22]пытаюсь сделать на 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:27:00) [23]Что не понятно ?
Student85236 (2009-08-27 14:25:00) [24]Спасибо большое но как я незнаю если бы написали )
Сергей М. (2009-08-27 13:27:00) [25]
> Student85236
Перед вызовом Get() для отправки запроса на ребут подмени на время объект IdHttp.IOHandler на своего наследника TIdIOHandler с перекрытым методом ReadLn, в котором возвращай пустую строку.
Student85236 (2009-08-27 13:21:00) [26])
Медвежонок Пятачок (2009-08-27 12:54:00) [27]у меня стоит false
И теперь ты молодец?
Anatoly Podgoretsky (2009-08-27 12:53:00) [28]Какой ответ, когда роутер прекращает существование, тут нужно переподключение к рутеру. И программа видимо не зависает, а ожидает таймаута.
Student85236 (2009-08-27 12:49:00) [29]у меня стоит false
Медвежонок Пятачок (2009-08-27 12:45:00) [30]http://img198.imageshack.us/img198/5687/redirectalb.jpg
а как не ждать ответ?
убрать idhttp и взять idtcpclient
послать гет, ответ не читать
Медвежонок Пятачок (2009-08-27 12:41:00) [31]ты чего такой трудный-то?
Student85236 (2009-08-27 12:40:00) [32]а как не ждать ответ? он мне в принципе не нужен
Сергей М. (2009-08-27 12:39:00) [33]
> как тогда на IdTCPClient сделать авторизацию?
>
Точно так же как ее делает IdHTTP, только придется это делать ручками.
А зачем тебе авторизация ? Ты же уже авторизовался средствами IdHTTP, осталось только исхитриться послать средствами этого же компонента запрос без ожидания ответа
Student85236 (2009-08-27 12:38:00) [34]как посмотреть ? HandleRedirect
Медвежонок Пятачок (2009-08-27 12:36:00) [35]И что у нас в HandleRedirect?
Сергей М. (2009-08-27 12:35:00) [36]
> может там роутер редиректом отвечает
Скорее всего именно так и отвечает - редиректом на, скажем, http://10.39.1.33/start.htm.
Др.вопрос, что http-клиент, если ему разрешено, тут же ринется по редиректу, а хост роутера и его веб-сервер поднимутся далеко не сразу, тем паче если роутер ходит во внешние сети (откуда автор , полагаю, пытается ребутить свой дивайс) через PPP
Student85236 (2009-08-27 12:35:00) [37]хорошо а как тогда на IdTCPClient сделать авторизацию?
Student85236 (2009-08-27 12:33:00) [38]да я забыл там идёт редирект
Медвежонок Пятачок (2009-08-27 12:31:00) [39]а ты вообще уверен, что ответ есть?
Student85236 (2009-08-27 12:30:00) [40]ответ какой функцией прочитать?