[英]Python requests, can't log into a site
我正在嘗試使用Python(3.2)請求登錄到站點並在后續頁面上導航受保護的內容。 但是,當我登錄時,似乎只是將我留在原始登錄頁面上(而不是導航到成功頁面),隨后的頁面調用僅顯示未受保護的內容。 您能否幫助我確定代碼中的錯誤:
import requests
import sys
class login:
def __init__(self):
self.payload = None
self.c = None
def start(self,username,password,loginpage):
self.payload = {'login':username,'password':password}
self.loginpage = loginpage
def login(self,url):
self.c = requests.session()
response = self.c.post(self.loginpage,data=self.payload)
if response.status_code == 200:
request = self.c.get(url)
print(request.text)
if __name__ == '__main__':
username = 'username'
password = "password"
loginpage = "https://www.clubfreetime.com/login/"
nextpage = "http://www.clubfreetime.com/new-york-city-nyc/free-theater-performances-shows"
login = login()
login.start(username,password,loginpage)
login.login(nextpage)
看來您沒有檢查發布的帖子是否還可以; 您只需繼續進行獲取,因此此調用未鏈接到先前的請求,那么它當然會繼續
例如 :
def login(self,url):
self.c = requests.session()
# test if the post is ok with your business process
if self.c.post(self.loginpage,data=self.payload) == whateveryourneed:
request = self.c.get(url)
print(request.text)
這個答案不是答案,而只是試圖向您展示您似乎錯過的一步的一種方式
希望這個幫助;)
我解決了這個問題。 我需要將self.payload更改為:self.payload = {'login':username,'password':password,'submit_login':'Login'}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.