Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Аутентификация на сайте с несуществующей странице


Автор: dihlofose 29.11.2006, 18:12
Добрый день.
Проблема в следующем: необходимо аутентифицироваться с помощью TIdHTTP на сайте (предположим www.site.ru). Если это делать через браузер, то после аутентификации сразу попадаю на страницу http://www.site.ru/404.aspx (где сказано, что такая страница не найдена) и только после ухода с этой страницы можно на сайте добавлять информацию (cookie в браузере сохраняются). Если же делать это с помощью TIdHTTP, то выскакивает 302 ошибка, если HandleRedirect = false или 404 ошибка, если HandleRedirect = true (Здесь есть подвопрос: должна или не должна выскакивать ошибка, если в браузере говорится, что такой страницы нет на сайте?). И после этой ошибки не могу сделать ни один Post или Get. Как всё же аутентифицироваться на этом сайте?

Автор: Snowy 29.11.2006, 18:23
Поставь запрос в обработсик try .. except.
Обращайся не на страницу, а сразу на 404.aspx

Автор: dihlofose 29.11.2006, 19:14
Обращаюсь на страницу, т.к. снифер показывает, что обращение идет к странице. Попробовал обращаться сразу к http://www.site.ru/404.aspx - ситуация аналогична описанной выше, то есть те же ошибки и тоже не могу использовать ни Get, ни Post

Добавлено @ 19:23 
Если же поставить try except и после этого попробовать запросить какую-нибудь страницу, то выскакивает ошибка: Invalid argument to date encode

Автор: Matematik 30.11.2006, 11:05
Цитата(dihlofose @  29.11.2006,  19:14 Найти цитируемый пост)
Invalid argument to date encode 

это баг инди, не умеет разбирать нестандартный заголовок

Автор: dihlofose 30.11.2006, 12:31
Цитата(Matematik @ 30.11.2006,  11:05)
Цитата(dihlofose @  29.11.2006,  19:14 Найти цитируемый пост)
Invalid argument to date encode 

это баг инди, не умеет разбирать нестандартный заголовок

Как из этой ситуации выйти?

Автор: Matematik 30.11.2006, 12:47
Цитата(dihlofose @  30.11.2006,  12:31 Найти цитируемый пост)
Как из этой ситуации выйти? 

Я сделал просто, дебагом прощел до места где строковая дата конвертается в TDate (это где разбор http заголовка), и заключил это местов в try except
Удачи

Автор: dihlofose 30.11.2006, 15:16
Цитата(Matematik @ 30.11.2006,  12:47)
Цитата(dihlofose @  30.11.2006,  12:31 Найти цитируемый пост)
Как из этой ситуации выйти? 

Я сделал просто, дебагом прощел до места где строковая дата конвертается в TDate (это где разбор http заголовка), и заключил это местов в try except
Удачи

Проблема в том, что после этой ошибки, даже если я ее заключил в try except, у меня все дальнейшие Post`ы и Get`ы показывают эту же ошибку…

Автор: Matematik 30.11.2006, 15:29

Цитата(dihlofose @  30.11.2006,  15:16 Найти цитируемый пост)
Проблема в том, что после этой ошибки, даже если я ее заключил в try except, у меня все дальнейшие Post`ы и Get`ы показывают эту же ошибку… 

Я говорил про правку исходников indy

Автор: dihlofose 30.11.2006, 17:34
Если это сделать в исходнике, то будет ли корректно работать метод Post, то есть будет ли размещена та или иная информация на сайт?

Автор: dihlofose 4.12.2006, 12:01
Исправил исходники Indy, после этой правки теперь выдается ошибка
Код

 HTTP/1.1 Internal Server Error

Но проблема как я понимаю, из-за того, что мне все же не удалось аутентифицироваться на сайте, т.к. при обращении к странице аутентификации (посмотрел в снифере к какой именно) вылетает ошибка
Код

HTTP/1.1 404 Not Found

Вот и не пойму куда тогда мне post посылать…

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)