Найти - Пользователи
Полная версия: Авторизация на rutracker
Начало » Web » Авторизация на rutracker
1
chegevara
Пытаюсь авторизоваться на 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()
Александр Кошелев
Какой результат вы ожидаете и какой получаете?
chegevara
Daevaorn
Какой результат вы ожидаете и какой получаете?
Ожидаю во первых в ответ получить куки, во вторых страницу, которая ба показывала что я авторизован.
А получаю я в ответ просто страницу с формой авторизации, собственно куда я запрос и делал(http://login.rutracker.org/forum/login.php).
Причем в случае не правильной авторизации мне бы выдалась уже каптча, значит у меня даже попытки авторизации не происходит.
Ferroman
Скорее всего не передаёте чего-то нужного. Постарайтесь сэмулировать запрос как можно более похоже к реальному.
chegevara
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>
chegevara
Вот запустил скрипт с дебагом:
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
ofigetitelno
:)
попробуйте не передавать host в хидере, передавать login=%C2%F5%EE%E4 и сохранять куки…
sypper-pit
можно на каждого пользователя генерировать свои куки где будет забит какой ли бо ID , а когда пользователь заходит сервер сравнивает ID
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB