Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2010, 01:35   #1
jokz
 
Регистрация: 27.01.2010
Сообщений: 8
Вопрос TidHttp и 302 код ответа

День добрый. Помогите пожалуйста начинающему делфи кодеру.


Код:

Код:
ans:= http.Post('http://twitter.com/sessions', formData);
нужно так:

Код:

Код:
if http.ResponseCode = 302 then
Но при загрузке страницы, если в ответе код 302, то вылазит ошибка и дальнейший код не выполняется.

если же указать


Код:

Код:
http.HandleRedirects:=true;
то я так и не понял, что он будет загружать, то ли Location, то ли еще что-то, но код выдаст 200, а не 302, как мне нужно. Как сделать, чтобы http.ResponseCode был равен 302 ?

Заранее спасибо.

P.S. Модератор Михалыч, у вас там когда тему открываешь, под первым постом есть выпадающий список, там есть "Переместить". На будущее просто.
jokz вне форума Ответить с цитированием
Старый 29.01.2010, 01:43   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

событие OnRedirect
Цитата:
http.HandleRedirects:=true
тогда это в false
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.01.2010, 20:15   #3
jokz
 
Регистрация: 27.01.2010
Сообщений: 8
По умолчанию

Цитата:
событие OnRedirect

Цитата:
http.HandleRedirects:=true

тогда это в false
тогда ошибка HTTP/1.1 302....

и это все равно не то, что мне нужно. То есть если никто не знает то никак?

Какой тогда посоветуете компонент, который бы автоматически поддерживал работу с cookies и не глючил при 15-20 потоках? чистые сокеты - гемор.
jokz вне форума Ответить с цитированием
Старый 29.01.2010, 21:43   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
тогда ошибка HTTP/1.1 302....
а вы событие обрабатываете?
если компонент динамический то просто назначте обработчик(создайте метод у вашего потомка от TThread и его назначайте)
в нем параметр Handled ставим в true
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.01.2010, 22:06   #5
jokz
 
Регистрация: 27.01.2010
Сообщений: 8
По умолчанию

Цитата:
а вы событие обрабатываете?
Код:
procedure TSDIAppForm.IdHTTP1Redirect(Sender: TObject; var dest: string;
  var NumRedirect: Integer; var Handled: Boolean; var VMethod: string);
begin
ShowMessage(dest);
end;
Цитата:
если компонент динамический то просто назначте обработчик(создайте метод у вашего потомка от TThread и его назначайте)
в нем параметр Handled ставим в true
я к сожалению пока еще не столь силен в делфях, чтобы реализовать описанное выше. "Назначить обработчик" это как?
jokz вне форума Ответить с цитированием
Старый 29.01.2010, 22:33   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы в обработчике Handled в true не поставили.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 31.01.2010, 23:02   #7
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

не проще ли:
Код:
http.HandleRedirects:=false;
try
 ans:= http.Post('http://twitter.com/sessions', formData);
except
 if http.ResponseCode = 302 then ...
end;
Voody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TidHttp и 302 код ответа jokz Общие вопросы Delphi 1 27.01.2010 17:17
Ошибка 302 OK doniyor Работа с сетью в Delphi 1 18.01.2010 22:42
ошибка http/1.1 302 found pesi Работа с сетью в Delphi 2 10.09.2009 20:25
Не дожидаясь ответа сервера (Indy TIdHTTP) Des Работа с сетью в Delphi 2 21.08.2009 09:45
HTTP/1.1 302 Found Crivel Работа с сетью в Delphi 3 24.04.2009 19:15