Вход на сайт с использованием запросов Python - PullRequest
0 голосов
/ 01 февраля 2019

Итак, я сейчас работаю над проектом для своей школы, и мне нужно войти на наш сайт столовой, используя Python.Я использую запросы, но код не работает.Он просто перенаправляет меня на стартовую страницу, а не на страницу пользователя.Я пробовал этот код на другом сайте, и он работал просто отличноЯ обнаружил, что этот сайт использует несколько страниц JavaServerМожет ли это быть проблемой?

Я пробовал несколько уроков на Youtube и даже что-то искал здесь, но у меня ничего не получалось.

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 OPR/58.0.3135.53'
}


login_data = {
    'j_username': '**',
    'j_password': '**',
    'terminal': 'false',
    'type': 'web',
    '_spring_security_remember_me': 'on'
}


with requests.session() as c:
    url = 'https://jidelna.mgo.opava.cz:6204/faces/secured/info.jsp?terminal=false&keyboard=false&printer=false'


    r = c.get(url)
    soup = BeautifulSoup(r.content, features="html.parser")
    login_data['_csrf'] = soup.find('input', attrs={'name':  '_csrf'})['value']
    login_data['targetUrl'] = soup.find('input', attrs={'name':  'targetUrl'})['value']

    r = c.post(url, data=login_data, headers=headers)

1 Ответ

0 голосов
/ 02 февраля 2019

Вы отправляете почтовый запрос по неправильному URL.Если вы используете инструменты разработчика для проверки формы входа, вы можете получить атрибут action формы.

enter image description here

Во вкладке сети в инструментах разработчикаВы можете видеть сделанный запрос POST и параметры.Вы должны отправить запрос на https://jidelna.mgo.opava.cz:6204/j_spring_security_check

enter image description here

enter image description here

Если все этине работает, также рассмотрите возможность эмуляции заголовков, насколько это возможно.Отправляется файл cookie, поэтому вам, возможно, придется использовать сеанс с запросами.

enter image description here

Если все остальное не удается, естьвсегда селен .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...