| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > http://depositfiles.com/ru проблема с редиректом |
| Автор: mr_smit 12.8.2008, 10:13 | ||||||||
| http://depositfiles.com/ru - позволяет заливать файлы на хранение. Необходимо: смотреть статистику по скачиваемым файлам. Каким образом: получаем html, парсим и вытаскиваем нужные нам числа. Проблема: после входа не переадресовывает на главную. Код html формы на странице:
Код, который уже сто тысяч раз здесь приводился:
В memo я вывожу результат Post и Get запроса. Вот он:
В первом случае мы вроде как заходим, но нам пишут "Redirecting... If browser do not redirect you automaticaly" - не можем автоматически и дают ссылку чтобы мы сами перешли http://depositfiles.com/gold/ Мы и пытаемся по ней перейти, но нам вновь возвращают "Redirecting... If browser do not redirect you automaticaly" , но ссылку уже дают http://depositfiles.com/ru/login.php?return=%2Fru%2Fgold%2F Почему он автоматически не переходит на "залогиненную" страницу??? HandleRedirects = true В возвращаемом коде есть:
Но причем тут он если мы и так адрес знаем??? P.S. IdCookieManager подключен. |
| Автор: RA 12.8.2008, 12:20 |
| попробуй самостоятельно с куками делать редирект, Get на http://depositfiles.com/ru/gold/ |
| Автор: mr_smit 12.8.2008, 16:09 | ||
Я вроде так и делаю:
|
| Автор: mr_smit 12.8.2008, 18:43 |
![]() Странно, но передается ещё два параметра - x и y. Методом тыка выяснилось, что это координаты мыши в пределах кнопки "Войти" на странице. P.S. Да и ещё, почему то браузер запрашивает страницу http://depositfiles.com/ru/gold/ ДВАЖДЫ Первый раз получает в ответ: Status: Found - 302 Во второй раз: Status: OK - 200 |
| Автор: mr_smit 12.8.2008, 19:00 | ||
Сделал так:
В ответ: "Redirecting... If browser do not redirect you automaticaly" |
| Автор: mr_smit 12.8.2008, 19:15 | ||
| На одном из форумов нашел: "В случае ошибки 302 нужно из заголовка взять адрес перенаправления и выполниить запрос повторно." И правда, так оно и есть: ![]() Но как это сделать?
Перекидывает на главную страницу (не входит) причем на английском??? |
| Автор: mr_smit 14.8.2008, 10:05 |
| Вот тут: http://forum.vingrad.ru/forum/topic-159803/anchor-entry1172160/0.html рассматривается аналогичная проблема, aktuba предложил хорошее решение, но оно не работает. ![]() |
| Автор: aktuba 14.8.2008, 11:29 |
| Выложи проект, посмотрю... |
| Автор: mr_smit 14.8.2008, 16:02 |
| Главное заработало на некоторое время. Пока разбирался с "парсингом" перестало, опять за старое. Что за ерунда. Delphi что ли глючит. логин и пароль реальные. Специально для теста сделал. |
| Автор: aktuba 16.8.2008, 12:52 |
| Ну сейчас-то работает? Я проверил - все ок. Приложил скомпиленную версию - твой код не менял. |
| Автор: mr_smit 17.8.2008, 09:04 |
| Нет, не работает. То что ты откомпилировал - работает. Тот же самый код компилирую я и вот что получается (см. прикрепленный файл). Не работает. Я не знаю почему. И ещё, почему то твой откомпилированный файл больше моего. Это наверное у меня что то с делфи. Ну должно же работать, что за ерунда. Я уже и интерфейс программы сделал и с парсингом разобрался. Зараза, ну что ж такое то. |
| Автор: aktuba 17.8.2008, 12:43 |
Потому что у тебя Delphi 7, а у меня Турба... А проблема у тебя все таже - ты не поправил IdCookieManager. Скорее не так. Попробую угадать - ты менял версию Indy в D7. Но не убрал все файлы или пути не переписал. В итоге, правишь .pas, но dcu берется от старой, не исправленной, версии. |
| Автор: BaD_SeCt0R 17.8.2008, 12:59 |
| Удалить все dcu и откомпилить их заново. Что-то я не пойму, в чем сложность. |
| Автор: mr_smit 17.8.2008, 13:00 | ||
Indy я не менял. IdCookieManager тоже не менял, т.к. не понял как. А каким образом у тебя тогда мой код заработал??? |
| Автор: BaD_SeCt0R 17.8.2008, 13:03 |
Видимо, aktuba, его все-таки менял... |
| Автор: mr_smit 17.8.2008, 13:33 |
| Воспользовался советом: http://forum.vingrad.ru/index.php?showtopic=224353&view=findpost&p=1613651 Всё заработало!!!!! Всем СПАСИБО! У меня <100 постов, а то я бы добавил репутации всем кто мне помогал. aktuba тебе отдельное спасибо. То что перед доменом идет "." я естественно сам бы не допер. |
| Автор: aktuba 18.8.2008, 12:36 |
| Ну и отлично. |
| Автор: Poseidon 18.8.2008, 13:39 |
| И отдельный + |
| Автор: MetalFan 18.8.2008, 14:04 |
| обнови инди на последнюю 10ку Добавлено через 1 минуту и 40 секунд з.ы. хотя точку в начале имени домена конечно руками лучше выцеплять |
| Автор: aktuba 18.8.2008, 16:11 |
Это не важно, в последней версии все-равно придется менять код IdCookieManager. |