簡體   English   中英

無法使用請求模塊登錄

[英]Can't login with requests module

我有一個python機器人程序,可使用我的帳戶登錄我的學校網站並檢查作業。 就在昨天,他們更新了一些內容,現在我無法登錄...

我的代碼如下所示:

    session_requests = requests.session()
    result = session_requests.get("https://dienynas.tamo.lt/Prisijungimas/Login")
    soup = BeautifulSoup(result.content, 'lxml')
    SToken = soup.find(attrs={"name": "SToken"})['value']
    authenticity_token = soup.find(attrs={"name": "__RequestVerificationToken"})['value']
    payload = {
        "UserName": "<my username>",
        "Password": "<my password>",
        "IsMobileUser": "false",
        "ReturnUrl": "",
        "RequireCaptcha": "false",
        "Timestamp": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
        "SToken": SToken
    }
    headers = {
        "cookie": "__RequestVerificationToken="+authenticity_token,
        "origin": "https://dienynas.tamo.lt",
        "referer": "https://dienynas.tamo.lt/Prisijungimas/Login",
        "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
        }
    result = session_requests.post("https://dienynas.tamo.lt/", params = payload, headers = headers)

我得到的響應與我只是向該頁面發送一個簡單的GET請求一樣。 我已經花了很多時間來解決這個問題,但仍然無法弄清楚到底是怎么回事。 請幫忙!

該網站-https://dienynas.tamo.lt

好像我發送了使用瀏覽器登錄時發送的所有數據,但是不起作用...

另外,我不知道這些信息是重要的,但在更新之前,我可以只此表的數據登錄- UserNamePasswordIsMobileUserReturnUrl__RequestVerificationToken (這是現在在發送cookie頭出於某種原因)

原來我很傻。 由於某種原因,我將自己的時間用於Timestamp ,而不是僅將其與SToken一起使用。 然后,它們不匹配,服務器也無法登錄我。工作代碼:

    session_requests = requests.session()
    result = session_requests.get("https://dienynas.tamo.lt/Prisijungimas/Login")
    soup = BeautifulSoup(result.content, 'lxml')
    SToken = soup.find(attrs={"name": "SToken"})['value']
    timestamp = soup.find(attrs={"name": "Timestamp"})['value']
    payload = {
        'UserName': '<myUsername>',
        'Password': '<MyPassword>',
        'IsMobileUser': 'false',
        'ReturnUrl': '',
        'RequireCaptcha': 'false',
        'Timestamp': timestamp,
        'SToken': SToken
    }
    r = session_requests.post("https://dienynas.tamo.lt/", data = payload)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM