| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Проблемы с логином на сайт |
| Автор: papaP 10.7.2006, 17:55 | ||
| Мастера Delphi!Взываю к вашей помощи. Вобщем к делу:
Вылетаю с ошибкой http 1.1 302 found Аналогичный код работает под .Net В чем загвоздка не могу разобрать. Наедеюсь на помошь заранее спасибо |
| Автор: _hunter 10.7.2006, 18:07 |
| HandleRedirrects поставь |
| Автор: papaP 10.7.2006, 20:23 |
| Спасибо! ошибка перестала вылетать, однако и логин не происходит. Параметры верные, т.к. в .Net все работает на Ура, че то опять видно упускаю... Добавлено @ 20:26 да и еще если добавить IdHTTP1.Post(url,Params, aStream), то aStream - пустой. ??? |
| Автор: papaP 10.7.2006, 20:50 |
| Получается следующая картина: -- когда я убираю. строку LoginParams := LoginParams + '_ctl0:_ctl0:_ctl0:btnLogin='+ r.Match[1]; - т.е. программное нажатие на кнопку "вход", то на выходе получаю страничку с заполненным полем логин пароль => вьюстейт работает правильно. Во т, вопрос остается такой, в .Net передаю следующие параметры для нажатия кнопки - name_кнопки=value_кнопки , может при использовании инди надо по другому передавать?(хотя врядли), а может проблемы с кодировкой?? Перепробовал URLEncode и брал строку, получаемую после перекодировки, юзая .Net все рано astream - пустой!Хелп, Плиз |
| Автор: papaP 10.7.2006, 21:36 |
| Да и еще, когда ввожу НЕВЕРНЫЙ пароль, то возвращает страницу, с красным(типа неправильным) полем пароль!! То есть когда пароль правильный - возвращает куки? и их надо подставить и сделать ГЕТ? Делаю, ничего не выходит... Надеюсь на ВАшу помощь, хотя и сам неплошаю)), дуплю дальше... |
| Автор: Snowy 11.7.2006, 09:54 |
| Ух. Слишком много мест, где может глючить. Вообще странно, что вообще работает. Но, если брать часть с запросом, то раз уж ты заполняешь реквест, то и делай DoRequest, а не Post. Params := TStringStream.Create(paramString); вообще не нужно. Так ты ничего не сохранишь. сохраняется без всяких доисторических AssingFile и т.п. |
| Автор: _hunter 11.7.2006, 10:31 |
| ну и стандартный совет: возьми любой сниффер и сравни что отправляет твоя программа и что отправляет браузер |
| Автор: papaP 11.7.2006, 18:18 |
| DoRequest попробобовал и них... (( Вообще как бы пост и не должен возвращать нужную страницу, получает гет. т.е. должно работать так: -постом отправляем запрос, -получаем куки -и с использованием оных сделать гет т получить нужную страницу... Вообще у меня закрадываются сомненье насчет этого ИНДИ..., способ неважен, главное на Delphi. Простто, кто-нибудь делал программный логин, использую ИНДИ? Добавлено @ 18:27 Вот то есть как получилдось у меня - при успешном входе получаю пустую страницу, а в хедере переадресацию на другую страницу... А как это обрабатывать в Indy - не знаю...(( |
| Автор: papaP 12.7.2006, 00:21 |
| Итак, когда HandleRedirrects=true, не идет переадресовка, ставлю в фалс, вылетаю с ошибкой http 1.1 302 found, короче проблема осталось в онредирект.... |
| Автор: Snowy 12.7.2006, 09:24 |
| Вот пример авторизации: http://forum.vingrad.ru/index.php?showtopic=81091 |
| Автор: mogikan 12.7.2006, 11:37 |
| А как можно прямо попасть на страницу "Входяшие" из Делфи приложения ? На пример в Маил.Ру Агенте и ГууглТалке есть такой возможность. Если можно с примерами |
| Автор: papaP 12.7.2006, 16:28 | ||
| Если ты имеешь ввиду мыло, то проблем никаких - юзай TIdPOP. Вот небольшой пример:
|
| Автор: papaP 12.7.2006, 17:31 |
| Snowy, спасибо! на vingrad логинюсь без проблем, а вот на gotdotnet, где юзается вьюстейт не получается... покаместь |
| Автор: papaP 12.7.2006, 17:52 | ||
Итак вот код:
На выходе получаю пустую страницу ((( - ума уже не приложу что делать все, что можно повключал, то есть:HandleRedirrects := true, печенюшки добавил |
| Автор: papaP 12.7.2006, 19:09 |
| Да и еще раз - под дот нет ВСЕ пашет!!!!! Редирект мне как раз в тру ставить и не нужно, тк там идет переадрессация, но ставя его в фалс - болт, получаю 302 эксепшон!!! может через этот инди-ху..ди вообще нельзя логинится на страницах где есть переадрессация?? |
| Автор: Snowy 13.7.2006, 10:12 |
| Количество редиректов можно уменьшить, назначив TIdHttp.RedirectMaximum := ... |
| Автор: papaP 13.7.2006, 16:50 | ||
| Искреннее спасибо всем, кто помогал мне, но походу этот ИНДИ - полное г..но(а может конечно и у меня руки не оттуда растут), но я всегда относился к полной "автоматике" с подозрением. Ладно, это все лирика и возможно усталость от того, что над проблемой, которая не стоит выеденного яйца бьюсь уже ... неделю. Snowy, огромнейшая просьба к Тебе! вот тестовый логин на http://www.gotdotnet.ru/: testLogin test вот мой код:
для HTTPEncode подключаю HTTPapp, на форму кинул печенюшки и связал их с моим idHTTP1 HandleRedirects := true hoForceEncode := true И наконец,получаемый результат: пустая страница, а если изменить пароль или логин на неверный, то страница с заполненным полем логин и красным полем пароль. Буду очень признателен, если ты проверишь у себя... Если и ты получишь такой же как у меня результат, то все перестану мучаться с ИНДИ. Большое спасибо, еще раз извини, что отнимаю время. |
| Автор: papaP 13.7.2006, 18:48 |
| Вот что сниффер показывает после отправки метода пост: HTTP/1.1 302 Found Connection: keep-alive Date: Thu, 13 Jul 2006 15:36:43 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 1.1.4322 Location: /Default.aspx Set-Cookie: GDNAuth=EDB186FB9E6577756470358A50B039C3B504012D9B7D10CB8AA7DDB0060C58E57A5203895F2A2792CB02CCB37108724307980379F524EBBBFEC89DDBA69DDE9784C5116F7455C05C; domain=gotdotnet.ru; path=/;HttpOnly Cache-Control: public, max-age=5 Expires: Thu, 13 Jul 2006 15:36:46 GMT Last-Modified: Thu, 13 Jul 2006 15:36:41 GMT Vary: * Content-Type: text/html; charset=windows-1251 Content-Length: 130 |
| Автор: papaP 13.7.2006, 19:27 |
| Так, вот еще взял строку параметров из сниффера(в смысле когда логинюсь на сайт со странички) вставил эту строку в пост и запустил... получил все ту же пустую страницу. Посмотрел, что получаю(предыдущий мой пост), та вот как я понял что в Idhttp стоит ексепшон на строку HTTP/1.1 302 Found! Вот он ее встечает и дальше не идет, то есть соответственно печенюшки мы не получаем. Щас думаю взять сорс этого модуля и переделать... |
| Автор: mogikan 13.7.2006, 20:57 | ||
IdPOP компонент не нуждаеться в етом программе. Програм должен открыт почту через WebMail. В етот системах нет РОР сервер В ГуглТалке тоже есть такой вешш. Когда кликните на надпис автоматически открывается ссылка веб почту. |
| Автор: papaP 14.7.2006, 06:54 | ||||
Я в делфах сильно разочаровался... Но если у тебя не стоит условие, что реализовать ТОЛЬКФО на Делфах - могу помочь решить твою проблему на СИ шарпе |