python - 用 requests 登陆战网失败

 Blackage 发布于 2022-10-25 18:28

想自己写一个守望先锋查看生涯数据的脚本
不知缺少什么东西,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()
2 个回答
  • 这样呢?

    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)
    2022-10-26 23:42 回答

  • Form_Data里的信息有不少呢,看看是不是因为这个。

    2022-10-26 23:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有