用 requests 登陆战网失败

发布于 2022-09-04 13:54:27 字数 1821 浏览 14 评论 0

想自己写一个守望先锋查看生涯数据的脚本
不知缺少什么东西,post后200,但是登陆数据显示未登录


# coding: utf-8
import requests


class Career(object):

    def __init__(self):
        self.login_url = 'https://www.battlenet.com.cn/login/zh/?ref=https://www.battlenet.com.cn/oauth/authorize?client_id%3Dnetease-sc2-esports%26response_type%3Dcode%26scope%3Did%2Bbattletag%2Blogout%2Bprofile%2Bprivate_games%26redirect_uri%3Dhttps%253A%252F%252Faccount.bnet.163.com%252Fbattlenet%252Flogin%253Finner_client_id%253Dow%2526inner_redirect_uri%253Dhttp%25253A%25252F%25252Fow.blizzard.cn%25252Fbattlenet%25252Flogin%25253Fredirect_url%25253Dhttp%2525253A%2525252F%2525252Fow.blizzard.cn%2525252Fcareer%2525252F&app=oauth'
        self.career_url = 'http://ow.blizzard.cn/career/'
        self.headsers = {
            'Host': 'www.battlenet.com.cn',
            'Connection': 'keep-alive',
            'Cache-Control': 'max-age=0',
            'Origin': 'https://www.battlenet.com.cn',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
            'Content-Type': 'application/x-www-form-urlencoded',
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
            'DNT': '1',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,en-US;q=0.8,en;q=0.6,zh;q=0.4'
        }
        self.form_data = {
            'accountName': '***',
            'password': '***',
        }

    def login(self):
        session = requests.session()
        session.headers = self.headsers
        a = session.post(url=self.login_url, data=self.form_data)
        html = session.get(url=self.career_url)
        print(html.text)


instance = Career()
instance.login()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

源来凯始玺欢你 2022-09-11 13:54:27

图片描述
Form_Data里的信息有不少呢,看看是不是因为这个。

愛放△進行李 2022-09-11 13:54:27

这样呢?

def login(self):
        session = requests.session()
        session.headers.update(self.headsers)
        a = session.post(url=self.login_url, data=self.form_data)
        html = session.get(url=self.career_url)
        print(html.text)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文