Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 24, 2010 20:05:59

chegevara
От:
Зарегистрирован: 2010-09-24
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация на rutracker

Пытаюсь авторизоваться на rutracker, не понимаю что не так?


#!/usr/bin/python
import urllib2
import urllib

theurl = 'http://login.rutracker.org/forum/login.php'
txdata = urllib.urlencode({'login_username' : 'username', 'login_password' : 'password'})

txheaders = {
'Host' : 'login.rutracker.org',
'User-Agent' : 'User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10',
'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language' : 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
'Accept-Encoding' : 'gzip,deflate',
'Accept-Charset' : 'windows-1251,utf-8;q=0.7,*;q=0.7',
'Keep-Alive' : '115',
'Connection': 'keep-alive',
'Referer' : 'http://login.rutracker.org/forum/login.php',
'Cookie' : 'spylog_test=1',
'Content-Type' : 'application/x-www-form-urlencoded',
# 'Content-Length' : '79'
}



req = urllib2.Request(theurl, txdata, txheaders)
handle = urllib2.urlopen(req)

print handle.info()
print handle.read()



Офлайн

#2 Сен. 25, 2010 13:10:39

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Авторизация на rutracker

Какой результат вы ожидаете и какой получаете?



Офлайн

#3 Сен. 25, 2010 13:35:38

chegevara
От:
Зарегистрирован: 2010-09-24
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация на rutracker

Daevaorn
Какой результат вы ожидаете и какой получаете?
Ожидаю во первых в ответ получить куки, во вторых страницу, которая ба показывала что я авторизован.
А получаю я в ответ просто страницу с формой авторизации, собственно куда я запрос и делал(http://login.rutracker.org/forum/login.php).
Причем в случае не правильной авторизации мне бы выдалась уже каптча, значит у меня даже попытки авторизации не происходит.



Офлайн

#4 Сен. 25, 2010 15:15:40

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Авторизация на rutracker

Скорее всего не передаёте чего-то нужного. Постарайтесь сэмулировать запрос как можно более похоже к реальному.

Офлайн

#5 Сен. 25, 2010 16:31:17

chegevara
От:
Зарегистрирован: 2010-09-24
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация на rutracker

Ferroman
Скорее всего не передаёте чего-то нужного. Постарайтесь сэмулировать запрос как можно более похоже к реальному.
Да вот куда реальнее то:)

Вот хэдоры пост запроса с браузера:
http://login.rutracker.org/forum/login.php

POST /forum/login.php HTTP/1.1
Host: login.rutracker.org
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://login.rutracker.org/forum/login.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 79
redirect=index.php&login_username=тут_мой_юзернейм&login_password=тут_мой _пароль&login=%C2%F5%EE%E4
Вот post форма:
<form action="http://login.rutracker.org/forum/login.php" method="post">

<input type="hidden" name="redirect" value="index.php" />

<p class="nav"><a href="./index.php">Список форумов rutracker.org</a></p>

<table class="forumline">
<tr>
<th>Вход</th>
</tr>
<tr>
<td class="row1">

<h4 class="tCenter mrg_16">Введите ваше имя и пароль</h4>


<div class="mrg_16">
<table class="borderless bCenter">
<tr>
<td width="31%" class="tRight">Имя:</td>
<td width="69%"><input type="text" name="login_username" size="25" maxlength="30" value="" tabindex="101" /></td>
</tr>
<tr>
<td class="tRight">Пароль:</td>

<td><input type="password" name="login_password" size="25" maxlength="32" value="" tabindex="102" /></td>
</tr>
<tr>
<td colspan="2" class="tCenter med nowrap pad_4"><label><input type="checkbox" name="ses_short" value="1" tabindex="103" /> Короткая сессия (автовыход через полчаса неактивности)</label></td>
</tr>
<tr>
<td colspan="2" class="tCenter pad_8"><input type="submit" name="login" class="bold long" value="Вход" tabindex="104" /></td>
</tr>

<tr>
<td colspan="2" class="tCenter med">В вашем браузере должны быть включены куки и JavaScript!</td>
</tr>
<tr>
<td colspan="2" class="tCenter"><a href="profile.php?mode=sendpassword" class="med">Забыли пароль?</a></td>
</tr>
</table>
</div>

</td>
</tr>
</table>



Офлайн

#6 Сен. 25, 2010 16:57:17

chegevara
От:
Зарегистрирован: 2010-09-24
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация на rutracker

Вот запустил скрипт с дебагом:

connect: (login.rutracker.org, 80)
send: 'POST /forum/login.php HTTP/1.1\r\nContent-length: 41\r\nAccept-language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\nAccept-encoding: gzip,deflate\r\nConnection: close\r\nKeep-alive: 115\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nUser-agent: User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10\r\nAccept-charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\nHost: login.rutracker.org\r\nReferer: http://login.rutracker.org/forum/login.php\r\nCookie: spylog_test=1\r\nContent-type: application/x-www-form-urlencoded\r\n\r\n'
send: 'login_username=тут_мой_логин&login_password=тут_мой_пароль'
reply: 'HTTP/1.1 200 OK\r\n'
header: Server: nginx
header: Date: Sat, 25 Sep 2010 13:55:37 GMT
header: Content-Type: text/html; charset=windows-1251
header: Transfer-Encoding: chunked
header: Connection: close
header: Cache-Control: private, pre-check=0, post-check=0, max-age=0
header: Expires: 0
header: Pragma: no-cache
header: Content-Encoding: gzip



Отредактировано (Сен. 25, 2010 16:58:09)

Офлайн

#7 Сен. 25, 2010 23:11:10

ofigetitelno
От:
Зарегистрирован: 2006-08-01
Сообщения: 136
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация на rutracker

:)
попробуйте не передавать host в хидере, передавать login=%C2%F5%EE%E4 и сохранять куки…



Офлайн

#8 Сен. 26, 2010 20:53:56

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Авторизация на rutracker

можно на каждого пользователя генерировать свои куки где будет забит какой ли бо ID , а когда пользователь заходит сервер сравнивает ID

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version