簡體   English   中英

Python請求,無法登錄網站

[英]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.

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