import requests
from bs4 import BeautifulSoup
def Auth():
session = requests.Session()
html = session.get('https://statname.net/login')
#Получаем код
soup = BeautifulSoup(html.text, 'html.parser')
#Получаем токен из формы
input_hidden_token = soup.find('input')['value']
post_req = {'_token': input_hidden_token, 'email': 'kukata@oranek.com', 'password': '12345678'}
r = session.post('https://statname.net/login', data=post_req)
print(r)
print(r.text)
Auth()
r = session.post('https://statname.net/login', data=post_req)
Так как вы написали я пробовала, ошибка
input_hidden_token = soup.find('input')['value']тут точно нужный инпут находится? проверь что в переменной input_hidden_token. Я бы по имени искал:
soup.find('input', attrs={"name": "_token"})
session = requests.Session()
, делаешь в ней get запрос, чтобы токен получить, так вот и дальше авторизовываться надо в этой же сессии r = session.post('https://statname.net/login', params=post_req)
session.post(...)
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul class=flashes>
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
def add_randcode(self, code):
with self.connection as conn:
code = conn.cursor.execute("SELECT * FROM `subscriptions` WHERE `code` = ?", (code, )).fetchone()
if code == None:
code = random.randint(1000,9999)
conn.cursor.execute("""INSERT INTO subscriptions(code)
VALUES (?)""", (code, ))
conn.commit()
return code
else:
return code
краткая инструкция