如何将我的登录数据发布到这个Xenforo论坛

2024-04-28 15:28:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试登录到一个使用Xenforo的网站/论坛。 我找到了post数据,并用它发出了post请求,我不确定它是否有效,或者我是否做得正确,下面是我的代码:

import requests


class Bumper:
    def __init__(self, login_url):
        self.login_url = login_url

    def login(self, username, password):
        login_payload = {'login': username, 'password': password}
        resp = requests.post(url=self.login_url, data=login_payload)


if __name__ == '__main__':
    Bumper(login_url="https://www.sythe.org/login").login(username="MyUsername", password="MyPassword")

后期数据:

login=MyUsername
register=0
password=MyPassword
remember=1
cookie_check=1
_xfToken
redirect=https://www.sythe.org/

要登录的网站url:https://www.sythe.org/login


Tags: 数据httpsorgselfurl网站defwww
1条回答
网友
1楼 · 发布于 2024-04-28 15:28:43

为了解决您的问题,我建议您在POST请求中添加一个标题,修改login_payload并添加requests.session()(因为您的网站不允许您在找不到任何cookie的情况下登录到它)。你知道吗

总之,您的代码应该如下所示:

import requests


class Bumper:
    def __init__(self, login_url):
        self.login_url = login_url

    def login(self, username, password):
        session = requests.session()
        headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0"}
        login_payload={"login": username,
                    "register": "0", 
                    "password": password, 
                    "remember": "1", 
                    "cookie_check": "1", 
                    "_xfToken": '', 
                    "redirect": "https://www.sythe.org/"
                   }

        session.get(url=self.login_url,headers = headers)
        resp = session.post(url=self.login_url, data=login_payload)


if __name__ == '__main__':
    Bumper(login_url="https://www.sythe.org/login").login(username="MyUsername", password="MyPassword")

希望这有帮助

相关问题 更多 >