powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Python] авторизация
3 сообщений из 3, страница 1 из 1
[Python] авторизация
    #38281225
BM13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Я только вчера начал изучение Python 2.7.5., не пинайте сразу..
Есть файл authorization.py. Необходимо автоматически авторизаваться
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
import urllib, urllib2, cookielib 
from BeautifulSoup import BeautifulSoup

def login():
    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11'), ]
    urllib2.install_opener(self.opener)

    url = urllib2.urlopen('https://........./')
    doc = BeautifulSoup(url.read())
    csrf_input = doc.find(attrs={'name':'csrfmiddlewaretoken'})
    csrf_token = csrf_input['value']

    params = urllib.urlencode({
        'username': 'мой логин',
        'password': 'мой пароль',
        'csrfmiddlewaretoken': csrf_token,
    })
    req = urllib2.Request('https://.........../', data=params, headers={'Referer': 'https://......../'})
    url = urllib2.urlopen(req)
    print url.read()
 
    doc = BeautifulSoup(url.read(), fromEncoding="utf-8")
    errors = doc.findAll('ul', attrs={'class':"errorlist"})
    if errors:
        raise LoginException('; '.join([error.contents[0].text for error in errors]))

    return urllib2


При запуске ничего не происходит. Как узнать что urllib2 авторизовался? Как я понял print url.read() должен чтото вернуть допустим 200, но ничего в Shell не пишется. Как правильно получить хоть какоето сообщение что авторизация прошла? Или я вообще чтото не так делаю..
...
Рейтинг: 0 / 0
[Python] авторизация
    #38281820
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: python
1.
return urllib2



Этим странным куском кода, ты наверняка хотел сказать что-то выразительное, мощное, но у тебя не получилось.
...
Рейтинг: 0 / 0
[Python] авторизация
    #38281843
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BM13, судя по документации read() возвращает тело ответа. Возможно в случае успешной авторизации тебе приходит ответ с кодом 301 и заголовком location. В этом случае тело ответа может быть пустым поэтому read() ничего не выводит. Попробуй распечатать весь ответ с сервера включая заголовки (метод info()) и код ответа сервера (getcode()).
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Python] авторизация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]