vendredi 1 février 2019

Logging to a website using Python's requests

So i am currently doing a project for my school and I need to login to our canteen website using Python. I am using requests, but the code is not working. It just redirects me to starting page, instead of the user page. I have tried this code on other website and it worked just fine. I have found out, that this website uses some JavaServer pages. May that be the problem?

I have tried a few tutorials on Youtube and even searched something here, but nothing worked for me.

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)




Aucun commentaire:

Enregistrer un commentaire