Как сделать что-бы idHttp принимал редирект, но не переходил по нему? И еще. Как убрать ошибку, когда в запросе есть редирект? Использую Try .. Except но ошибка все равно появляется, хотя когда открываешь ехе вне делфи то все работает.
idhttp.HandleRedirects:=false; - переходить по редиректам не будет. редирект инди воспринимает как исключительную ситуацию, поэтому компилятор тебе её и выводит как ошибку. не обращай внимания.
Мне надо url редиректа, а если будет idhttp.HandleRedirects:=false; то у меня не будет адреса этого редиректа. А как тогда поступать? Сохранять и отдельно запускать ехе что-ли?
Code: var HTTP: TIdHTTP; begin HTTP := TIdHTTP.Create(nil); HTTP.HandleRedirects := False; try try HTTP.Get('http://ya.ru/xynta'); except ShowMessage(HTTP.Response.Location); end; finally HTTP.Free; end; end; Upd: опоздал
Вброшу ещё своих 5 копеек. Code: var HTTP: TIdHTTP; begin HTTP := TIdHTTP.Create(nil); HTTP.HandleRedirects := False; try HTTP.Get('http://ya.ru/xynta'); finally if (Length(HTTP.Response.Location) > 0) and (HTTP.ResponseCode = 302) then ShowMessage('Redirect: ' + HTTP.Response.Location) else ShowMessage('No redirect'); HTTP.Free; end; end;
Подскажите при проверке редиректа вылетает ошибка. Как ее убрать. Ошибка сообщает о том что на сайте стоит редирект. А Именно HTTP/1.1 302 Found. Хотелось бы чтобы она не выводилась.
Вопрос поднимался уже стопицот раз. и уже даже в этой теме был тебе ответ. ну а если уж так сильно надоедает, то запускай программу не из Delphi или сделай следующее: Tools-->Debugger Options...-->Сними галочку напротив Integrated Debugging
Дело в том что эта ошибка выходит и когда запускаю и не из под Delphi... Напрямую запуск с ехе и тоже самое. Хотелось бы убрать ее. http://clip2net.com/s/TAWk
используй конструкцию try-except http://www.delphisources.ru/pages/faq/faq_delphi_basics/Try.php.html
Пожете подсказать как тут сделать чтобы это не выводилось больше? Code: procedure TForm1.btn27Click(Sender: TObject); var HTTP: TIdHTTP; begin tmr3.Enabled:=True; HTTP := TIdHTTP.Create(nil); HTTP.HandleRedirects := False; try HTTP.GET('http://site.ru'); Finally if (Length(HTTP.Response.Location) > 0) and (HTTP.ResponseCode = 302) then // ShowMessage('Redirect: ' + HTTP.Response.Location) else PlaySound('open.wav', 0, SND_ASYNC); tmr3.Enabled:=False; HTTP.Free; end; end; procedure TForm1.tmr3Timer(Sender: TObject); begin btn27Click(Self); end; Когда на сайте висит редирект выводит эту ошибку. Необходимо чтобы она не выводилась.