Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2011, 20:21   #1
Kudryavtsev
Заблокирован
 
Регистрация: 26.04.2011
Сообщений: 39
По умолчанию idHTTP + авторизация на Торренте?!

Нужно провести процесс авторизации клиентского приложения на локальном трекере.
Код запроса:
tmpParams:=TStringList.Create;
tmpParams.add('login=12345t&passwor d=12345');
IdHTTP1.post('http://tracker.tsure/index.php',tmpParams );
info:=Form1.IdHTTP1.Get('http://tracker.tsure/profile.php?mode=viewprofile&u=2');
Memo1.Text:=info;

Запрос от браузера(пример):
requeste stream:::
Цитата:
POST /login.php HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.8.131 Version/11.10
Host: tracker.tsure
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Referer: http://tracker.tsure/index.php
Cookie: opt_js=%7B%22only_new%22%3A0%2C%22h _flag%22%3A0%2C%22h_av%22%3A0%2C%22 h_rnk_i%22%3A0%2C%22h_post_i%22%3A0 %2C%22h_smile%22%3A0%2C%22h_sig%22% 3A0%2C%22sp_op%22%3A0%2C%22tr_t_ax% 22%3A0%7D
Connection: Keep-Alive
Content-Length: 70
Content-Type: application/x-www-form-urlencoded

login_username=codeexpert&login_pas sword=6007996614&login=%C2%F5%EE%E4
response stream:::
Цитата:
HTTP/1.1 302 Found
Server: nginx
Date: Sat, 14 May 2011 16:19:36 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.3.5
Set-Cookie: bb_data=a%3A3%3A%7Bs%3A2%3A%22uk%22 %3BN%3Bs%3A3%3A%22uid%22%3Bi%3A1315 8%3Bs%3A3%3A%22sid%22%3Bs%3A20%3A%2 2ehggS0DIjw1yn14lHDmm%22%3B%7D; expires=Sun, 13-May-2012 16:19:36 GMT; path=/; domain=tracker.tsure; httponly
Location: http://tracker.tsure/index.php
Content-Length: 0
Не фига не проходит авторизация. Помогите пожалуйста!

Последний раз редактировалось Kudryavtsev; 14.05.2011 в 20:23.
Kudryavtsev вне форума Ответить с цитированием
Старый 14.05.2011, 21:39   #2
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

На основании чего считаете, что авторизация не проходит. Судя по ответу сервера, происходит переадресация на главную страницу.
Voody вне форума Ответить с цитированием
Старый 14.05.2011, 22:06   #3
Kudryavtsev
Заблокирован
 
Регистрация: 26.04.2011
Сообщений: 39
По умолчанию

Это ответ для браузера! Когда проходит авторизация, то возвращает:
Цитата:
HTTP/1.1 302 Found
Server: nginx
Date: Sat, 14 May 2011 17:53:08 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.3.5
Set-Cookie: bb_test=deleted; expires=Fri, 14-May-2010 17:53:07 GMT; path=/; domain=tracker.tsure
Set-Cookie: bb_data=a%3A3%3A%7Bs%3A2%3A%22uk%22 %3BN%3Bs%3A3%3A%22uid%22%3Bi%3A1315 8%3Bs%3A3%3A%22sid%22%3Bs%3A20%3A%2 2lD8j2m021eOsGhtqTesT%22%3B%7D; expires=Sun, 13-May-2012 17:53:08 GMT; path=/; domain=tracker.tsure; httponly
Location: http://tracker.tsure/login.php
Content-Length: 0
Когда не проходит возвращает код страниц...

Разобрался с прогой...
tmpParams:=TStringList.Create;
tmpParams.add('login_username=CodeE xpert');
tmpParams.add('login_password=60079 96614');
tmpParams.add('autologin=on');
tmpParams.add('login=login=%C2%F5%E E%E4');
Form1.IdHTTP1.Post('http://tracker.tsure/login.php',tmpParams);

Теперь проблема, как обрабовать исключение 1/1.302
try
Form1.IdHTTP1.Post('http://tracker.tsure/login.php',tmpParams);
except
if idhttp1.ResponseCode=302 then
idhttp1.get(idhttp1.response.locati on);
end;

Не фига не обрабатывает ошибка( Хотя правильно, если идет ридерикт, значит прошла авторизация, и сниффер тоже показывает что прошла..
Помошите с ошибкой справиться.
Kudryavtsev вне форума Ответить с цитированием
Старый 14.05.2011, 22:20   #4
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

IdHTTP1.HandleRedirects:=true;

перед запросами
Voody вне форума Ответить с цитированием
Старый 14.05.2011, 22:39   #5
Kudryavtsev
Заблокирован
 
Регистрация: 26.04.2011
Сообщений: 39
По умолчанию

Отключи...Авторизация проходит...
Но получить инфу о пользователе не получается...
info:=Form1.IdHTTP1.Get(' http://tracker.tsure/profile.php?mod...ile&u=6');

Memo1.Text:=info;
Kudryavtsev вне форума Ответить с цитированием
Старый 14.05.2011, 23:07   #6
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

IdHTTP1.AllowCookies:=true;

или IdCookieManager подключить
Voody вне форума Ответить с цитированием
Старый 14.05.2011, 23:13   #7
Kudryavtsev
Заблокирован
 
Регистрация: 26.04.2011
Сообщений: 39
По умолчанию

И allcookies давно труе и кукменеджер подрубал...
вот исходник:
http://zalil.ru/31038903
Kudryavtsev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Трабл с торрент-клиентом Ногин Антон Операционные системы общие вопросы 2 01.01.2010 22:29
Помогите с торрент движком! asterisk PHP 0 05.08.2009 22:39
Торрент на своем сайте FINoM PHP 1 05.08.2009 19:05
Торрент Бубликова Софт 13 24.01.2009 00:06