我想通過腳本在edx網站上登錄。爲此,我使用python的請求庫。這裏是代碼無法在網頁上使用python的請求庫登錄
from requests import session
ID = '[email protected]'
PASSWORD = '*********'
with session() as c:
g = c.get('https://courses.edx.org/login/', allow_redirects=True)
csrftoken = (g.headers['set-cookie']).split()[0][10:-1]
login_data = dict(email=ID, password=PASSWORD, csrfmiddlewaretoken=csrftoken, next='/')
a = c.post('https://courses.edx.org/login/', data=login_data, headers={'Referer':'https://courses.edx.org/login/'})
response = c.get('https://courses.edx.org/dashboard')
print response.url
但是,這段代碼不起作用。輸出是
當我運行a.content
。它顯示
CSRF驗證失敗。請求異常終止
請任何人幫助我。
您能打印來自第一次發佈會話的響應,以檢查登錄是否成功。例如。 'check = c.post('https://courses.edx.org/login/',data = payload)''print check.test' – user3636636
您的鏈接需要登錄。請檢查該網站的API。他們是否首先需要一些特定的標題?也許他們需要你先獲得一個csrf標記,然後用它來發布你的登錄表單? –
@ user3636636登錄不成功。因爲當我試着'a = c.post('https://courses.edx.org/login/',data = payload)''然後'打印一個'。輸出是'<響應[403]>' –