Почему не получается авторизоваться на http://joyreactor.cc с requests - Python

Узнай цену своей работы

Формулировка задачи:

результат пост запроса

Решение задачи: «Почему не получается авторизоваться на http://joyreactor.cc с requests»

textual
Листинг программы
def auth(url,login=None,password=None):
    # отправляем первичный запрос главной страницы
    resp = session.get(url, headers=headers)
   
    page = lxml.html.fromstring(resp.text) #  получаем разобранное дерево элементов
    form = page.forms[0]  # берем самую первую форму - то, что брать нужно именно ее 
    # нужно убеждаться эмпирическим путем, заглянув в исходный код страницы, так как нужная форма может и не быть первой
    
    # здесь просто узнаем поля нашей формы
    for key,val in form.fields.items():
        print(key,val)
    
    # а поля у нас такие
    form.fields['session[login]'] = login      
    form.fields['session[password]'] = password
    # скрытое поле authenticity_token у нас будет передано вместе с прочими полями
    # в чем можно убедиться просмотрев 
    print(form.form_values())
    # логинимся
    r = session.post("{}{}".format(url,form.action), data=form.form_values())
    print(resp.status_code)
    return r.text

Оцени полезность:

5   голосов , оценка 3.8 из 5