Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> http://depositfiles.com/ru проблема с редиректом, Redirecting... If browser do not redir.. 
V
    Опции темы
mr_smit
  Дата 12.8.2008, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



http://depositfiles.com/ru - позволяет заливать файлы на хранение.

Необходимо: смотреть статистику по скачиваемым файлам.
Каким образом: получаем html, парсим и вытаскиваем нужные нам числа.
Проблема:  после входа не переадресовывает на главную.

Код html формы на странице:

Код

<form action="http://depositfiles.com/ru/login.php" method="POST">
<input type="hidden" name="go" value="1" />
<h4>Войти:</h4>
<table class="login_table" border="0" cellpadding="0" cellspacing="0">
<tr>
    <td class="cell1">Логин</td>
    <td class="cell2">
                <input type="text" class="input_text" name="login" value="" />

    </td>
    <td class="cell3"><div class="c3div"></div></td>
</tr>
<tr>
    <td class="cell1">Пароль</td>
    <td class="cell2">
                <input type="password" class="input_text" name="password"/><div class="forgot"><a href="http://depositfiles.com/ru/gold/forgot.php">Забыл пароль?</a></div>
    </td>
    <td class="cell3"><div class="c3div"><input type="image" height="29" width="69" src="http://img2.depositfiles.com/images/ru/btn_signin.gif" alt="Войти" /></div></td>
</tr>
</table>
</form>


Код, который уже сто тысяч раз здесь приводился:

Код

procedure TForm1.Button1Click(Sender: TObject);
var lData: TStringList;
    s:string;
begin
  lData := TStringList.Create;
try
  lData.Add('go=1');
  lData.Add('login=мой логин');
  lData.Add('password=мой пароль');
  s:=IdHTTP1.Post('http://depositfiles.com/ru/login.php', lData);

  memo1.Text:=s+#13+#10+'---разделитель---'+#13+#10+IdHTTP1.Get('http://depositfiles.com/ru/gold/');
  finally
  lData.Free;
end;
end;


В memo я вывожу результат Post и Get запроса. Вот он:

Код

<html>
<head>
<meta http-equiv="refresh" content="5;URL=http://depositfiles.com/gold/">
<!-- -main-redirect- -->
<title>Redirecting</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align='center'>
Redirecting... If browser do not redirect you automaticaly<br>
<a id='redirect' href="http://depositfiles.com/gold/">press here</a> </div>
<script language="javascript">
window.location.href = 'http://depositfiles.com/gold/';
</script>
</body>
</html>

---разделитель---

<html>
<head>
<meta http-equiv="refresh" content="5;URL=http://depositfiles.com/ru/login.php?return=%2Fru%2Fgold%2F">
<!-- -main-redirect- -->
<title>Redirecting</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align='center'>
Redirecting... If browser do not redirect you automaticaly<br>
<a id='redirect' href="http://depositfiles.com/ru/login.php?return=%2Fru%2Fgold%2F">press here</a> </div>
<script language="javascript">
window.location.href = 'http://depositfiles.com/ru/login.php?return=%2Fru%2Fgold%2F';
</script>
</body>
</html>


В первом случае мы вроде как заходим, но нам пишут "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

В возвращаемом коде есть:

Код

<script language="javascript">
window.location.href = 'http://depositfiles.com/gold/';
</script>


Но причем тут он если мы и так адрес знаем???

P.S. IdCookieManager подключен.

Это сообщение отредактировал(а) mr_smit - 12.8.2008, 10:17
PM MAIL   Вверх
RA
Дата 12.8.2008, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



попробуй самостоятельно с куками делать редирект, Get на  http://depositfiles.com/ru/gold/ 

Это сообщение отредактировал(а) RA - 12.8.2008, 12:21
PM   Вверх
mr_smit
Дата 12.8.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



Я вроде так и делаю:
Код
IdHTTP1.Gеt('http://depositfiles.com/ru/gold/')


Это сообщение отредактировал(а) mr_smit - 12.8.2008, 19:33
PM MAIL   Вверх
mr_smit
Дата 12.8.2008, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



user posted image

Странно, но передается ещё два параметра - x и y.  Методом тыка выяснилось, что это координаты мыши в пределах кнопки "Войти" на странице.

P.S. Да и ещё, почему то браузер запрашивает страницу http://depositfiles.com/ru/gold/ ДВАЖДЫ

Первый раз получает в ответ: Status: Found - 302
Во второй раз: Status: OK - 200

Это сообщение отредактировал(а) mr_smit - 12.8.2008, 18:53
PM MAIL   Вверх
mr_smit
Дата 12.8.2008, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



Сделал так:

Код

procedure TForm1.Button1Click(Sender: TObject);
var lData: TStringList;
    s:string;
    i:integer;
begin
  lData := TStringList.Create;
try
  lData.Add('go=1');
  lData.Add('login=xxxx');
  lData.Add('password=xxxx');
  lData.Add('x=10');
  lData.Add('y=13');
  IdHTTP1.Post('http://depositfiles.com/ru/login.php', lData);
  IdHTTP1.Get('http://depositfiles.com/ru/gold/');
  s:=IdHTTP1.Get('http://depositfiles.com/ru/gold/');
  memo1.Text:=s;
finally
  lData.Free;
end;
end;


В ответ: "Redirecting... If browser do not redirect you automaticaly"

Это сообщение отредактировал(а) mr_smit - 12.8.2008, 19:54
PM MAIL   Вверх
mr_smit
  Дата 12.8.2008, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



На одном из форумов нашел:

"В случае ошибки 302 нужно из заголовка взять адрес перенаправления и выполниить запрос повторно."

И правда, так оно и есть:

user posted image

Но как это сделать?

Код

procedure TForm1.Button1Click(Sender: TObject);
var lData: TStringList;
    s:string;
    i:integer;
begin
  lData := TStringList.Create;
try
  lData.Add('go=1');
  lData.Add('login=xxxxx');
  lData.Add('password=xxxxx');
  lData.Add('x=10');
  lData.Add('y=13');
  IdHTTP1.Post('http://depositfiles.com/ru/login.php', lData);
  IdHTTP1.Get('http://depositfiles.com/ru/gold/');
  s:=IdHTTP1.Get('http://depositfiles.com'+IdHTTP1.response.Location);
  memo1.Text:=s;
finally
  lData.Free;
end;
end;


Перекидывает на главную страницу (не входит) причем на английском???

Это сообщение отредактировал(а) mr_smit - 12.8.2008, 19:54
PM MAIL   Вверх
mr_smit
  Дата 14.8.2008, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



Вот тут:

http://forum.vingrad.ru/forum/topic-159803...y1172160/0.html

рассматривается аналогичная проблема, aktuba предложил хорошее решение, но оно не работает.  smile 

user posted image
PM MAIL   Вверх
aktuba
Дата 14.8.2008, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Выложи проект, посмотрю...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
mr_smit
Дата 14.8.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



Главное заработало на некоторое время. Пока разбирался с "парсингом" перестало, опять за старое. Что за ерунда. Delphi что ли глючит.

логин и пароль реальные. Специально для теста сделал.

Это сообщение отредактировал(а) mr_smit - 14.8.2008, 16:04

Присоединённый файл ( Кол-во скачиваний: 29 )
Присоединённый файл  Deposit_Statistics.rar 3,73 Kb
PM MAIL   Вверх
aktuba
Дата 16.8.2008, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Ну сейчас-то работает? Я проверил - все ок. Приложил скомпиленную версию - твой код не менял.

Присоединённый файл ( Кол-во скачиваний: 26 )
Присоединённый файл  Project1.rar 235,75 Kb


--------------------
user posted image
PM MAIL WWW Skype   Вверх
mr_smit
Дата 17.8.2008, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



Нет, не работает. То что ты откомпилировал - работает. Тот же самый код компилирую я и вот что получается (см. прикрепленный файл).

Не работает. Я не знаю почему.

 smile 

И ещё, почему то твой откомпилированный файл больше моего.
Это наверное у меня что то с делфи. Ну должно же работать, что за ерунда. smile 


Я уже и интерфейс программы сделал и с парсингом разобрался. Зараза, ну что ж такое то.

Это сообщение отредактировал(а) mr_smit - 17.8.2008, 12:43

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  Project1.rar 207,65 Kb
PM MAIL   Вверх
aktuba
Дата 17.8.2008, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата(mr_smit @  17.8.2008,  10:04 Найти цитируемый пост)
И ещё, почему то твой откомпилированный файл больше моего.

Потому что у тебя Delphi 7, а у меня Турба...

А проблема у тебя все таже - ты не поправил IdCookieManager. Скорее не так. Попробую угадать - ты менял версию Indy в D7. Но не убрал все файлы или пути не переписал. В итоге, правишь .pas, но dcu берется от старой, не исправленной, версии.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
BaD_SeCt0R
Дата 17.8.2008, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lazy Coder
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 9.10.2006
Где: Анапа

Репутация: нет
Всего: 18



Удалить все dcu и откомпилить их заново. Что-то я не пойму, в чем сложность.


--------------------
Кто владеет информацией - владеет миром. (С) Френсис Бэкон.
PM MAIL ICQ   Вверх
mr_smit
  Дата 17.8.2008, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



Цитата(aktuba @ 17.8.2008,  12:43)
ты менял версию Indy в D7. Но не убрал все файлы или пути не переписал. В итоге, правишь .pas, но dcu берется от старой, не исправленной, версии.


Indy я не менял.  IdCookieManager тоже не менял, т.к. не понял как.  А каким образом у тебя тогда мой код заработал???
PM MAIL   Вверх
BaD_SeCt0R
Дата 17.8.2008, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lazy Coder
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 9.10.2006
Где: Анапа

Репутация: нет
Всего: 18



Цитата(mr_smit @  17.8.2008,  13:00 Найти цитируемый пост)
А каким образом у тебя тогда мой код заработал???

Видимо, aktuba, его все-таки менял...


--------------------
Кто владеет информацией - владеет миром. (С) Френсис Бэкон.
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0835 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.