Найти - Пользователи
Полная версия: Авторизация на форуме
Начало » Python для новичков » Авторизация на форуме
1
kappa-sama
Есть питон 3.2
Есть форум - http://slitherin.potterforum.ru/
Задача: авторизироваться и получить страницы по некоторым ссылкам.

Проблема в том что норм инфы на русском я не нашел, кроме очень общей. Все примеры на втором питоне. С буржуйским плохо, поэтому англоязычные ресурсы помощи не оказали. Кто может подкинуть инфу или (желательно) пример?
GaiveR
1. Берете fiddler, смотрите какие запросы отправляет браузер.
2. С помощью requests отправляете такие же запросы.
3. При необходимости парсинга полученных страниц, используете, например, lxml

Это в общих чертах. Что конкретно вам непонятно?
kappa-sama
Интересует именно отправка ПОСТ запроса и “отлов” сессии.
GaiveR
Не проверял, но как-то так:
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)
# сохраняем куки для последующих запросов
cookies = r.cookies
# отправляем запрос с сохраненными ранее куками
requests.get('http://httpbin.org/cookies', cookies=cookies)

Вообще смотрите оф доки, там все есть. Если проблемы с английским - учите его, без него прогать будет очень тяжело. Ну а пока не выучили, можно прибегнуть к помощи гуглопереводчика, например.
odnochlen
GaiveR
cookies = r.cookies
Но зачем?
s = requests.session()
s.post(...)

import requests
s = requests.session()
r = s.post("http://httpbin.org/post", data={
    'key1': 'value1', 
    'key2': 'value2',
})
# отправляем запрос с сохраненными ранее куками
s.get('http://httpbin.org/cookies')
kappa-sama
Спасибо, а как можно проверить активна ли еще сессия? Или она активна пока сам не закроешь?
odnochlen
session - всего лишь хранилище кук и настроек. На валидность можно проверить только узнав, принял ли сайт куки.
kappa-sama
Есть специальный ответ сервера на это? Или надо получить какую либо страницу и на основе этого делать выводы?
odnochlen
Так же, как и браузером - смотреть, есть ли строки, появляющиеся после логина - вроде “Вы зашли как %s”.

Иногда после успешного логина появляются какие-то куки или идет редирект на определенную страницу.
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