Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Сети > TidHTTP и сервер с аутентификацией |
Автор: dihlofose 30.3.2006, 13:56 | ||
Добрый день. Вопрос на тему использования метода Post в компоненте idHTTP. Задача следующая: необходимо разместить вакансии на одном из рабочих сайтов (например www.rabota.mail.ru). Здесь необходима регистрация. После ее прохождения естественно имею пароль и логин. Так вот вопрос следующий, как мне с помощью данного компонента аутентифицироваться и после этого разместить вакансию? К сожалению, сейчас на запрос методом пост сейчас получаю страницу аутентификации, где поля "логин" и "пароль" не заполнены. Код написан ниже. Заранее спасибо.
![]() |
Автор: _hunter 30.3.2006, 17:24 |
http://forum.vingrad.ru/index.php?showtopic=76156&st=80&unread=&#entry688528![]() |
Автор: dihlofose 31.3.2006, 09:54 | ||
Прочитав всё по данной ссылке сделал следующее: 1. В HTTPOptions выключил hoForceEncodeParams 2. TIdCookieManager прикрутил 3. HandleRedirect поставил в true Но ситуация не изменилась, все равно при правильном вводе пароля, попадаю на страницу авторизации, а при неправильном говорит что я неправильно ввел логин или пароль... Добавлено @ 09:56 Также к предыдущему добавил следующее: 4. MaxLineAction переключил в maSplit. 5. переключил ProtocolVersion на pv1_0 |
Автор: _hunter 31.3.2006, 10:37 |
значит берем сниффер и смотрим чем самоклепный запрос отличается от передаваемого браузером |
Автор: dihlofose 31.3.2006, 12:09 |
я использовал HTTP Interceptor, запрос один в один... все же не работает...если можно киньте ссылку на снифер. |
Автор: Snowy 31.3.2006, 12:18 |
Установи HandleRedirect в true |
Автор: dihlofose 31.3.2006, 12:19 | ||
установил, ситуация такая же |
Автор: Snowy 31.3.2006, 12:59 |
Лучше маппер: http://forum.vingrad.ru/index.php?showtopic=89811&view=findpost&p=689298 |
Автор: dihlofose 31.3.2006, 15:18 | ||
Ща попробую, но есть сомнения, что он мне что-то нового покажет...видимо здесь в чем-то другом загвоздка |
Автор: dihlofose 3.4.2006, 15:54 |
К сожалению, так ничего и не вышло...всё стоит на том же месте. Может подскажет кто-нибудь какие варианты здесь еще возможны? |
Автор: N1k 4.4.2006, 08:59 |
dihlofose, а ты сразу пытаешься авторизоваться? Может стоит попробовать открыть страницу с формой, а уж потом... |
Автор: dihlofose 4.4.2006, 11:37 | ||
N1K, да действительно я пытаюсь сразу авторизоваться, но к сожалению, я так и не понял какую страницу нужно сначала запросить.. с учетом всех вышеперечисленных изменений, запросил методом get до начала авторизации непосредственно страницу авторизации. И опять не работает(((...ниже привожу код. Я опять чего-то не понял?
|
Автор: dihlofose 6.4.2006, 15:44 |
Уважаемые знатоки Delphi, помогите...проблема так и не решена... |
Автор: redstorm 13.4.2006, 15:08 | ||
Был такой прикол, во избежании несанкционированного доступа к серверу, и защиты от СПАМа на многих станциях стоит скрипт, которуй определяет начальную точку входа на HTTP. Проверка осуществлялась по очень простой схеме, скрипт смотрит откуда производится аутентификация на сервер, и пропускает запрос только в том случае, когда он был послан с головной страници сайта. То-есть если производить аутентификацию к примеру сразу на страницу "http://www.myjob/job/regme/&?regnew/" то скорей всего она не пройдёт. В данном случае, нужно будит сначала войти на головную страницу "http://www.myjob/" после чего пробовать уже запрос аутентификации.. "http://www.myjob/job/regme/&?regnew/" |
Автор: dihlofose 13.4.2006, 16:33 | ||
Redstorm, спасибо за ответ... Если возможно, уточни по поводу входа на главную страницу. Как я понял вход осуществляется методом get. Так и сделал, но результат опять такой же. Если несложно, посмотри код, скорее всего я чего-то не догоняю:
|