python requests session 实现模拟登录登录失败,无法获得需要内容
怪我咯
怪我咯 2017-04-17 17:08:39
[Python讨论组]

需要模拟登录okcoin,遇到了一些问题,希望大家指点O>_有参考百度的登录方式,先获取了页面cookie才用post的,但还是没有成功,获取的仍然是登录前的页面,那要怎样才能实现okcoin的模拟登录?
附上代码片段,恳请大家指教,不胜感激~~~~

 def __init__(self, loginName='*******', password='******'):
        self.header = {
            'Host': 'www.okcoin.cn',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0',
            'Accept': '*/*',
            'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
            'Accept-Encoding': 'gzip, deflate',
            'Connection': 'keep-alive',
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
            'Pragma': 'no-cache',
            'Cache-Control': 'no-cache'
        }
        self.loginData = {
            'loginName': loginName,
            'password': password
        }
    def login(self):
        session = requests.session()
        number = random.randint(11,99)
        self.loginData.update({'random':number})
        session.get('https://www.okcoin.cn/')
        #session.get('https://www.okcoin.cn/user/login/index.do?random='+str(number))
        #session.get('https://www.okcoin.cn/trade/ltc.do')
        session.post('https://www.okcoin.cn/user/login/index.do?random='+str(number), data=self.loginData, headers=self.header)
        html = session.get('https://www.okcoin.cn/trade/ltc.do')
        return html
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
高洛峰

加上referer试试,另外模拟一下ticker.do这个请求,可能是用来刷新sessionID的。

模拟登陆什么的。。多抓包。。好好模拟网络请求不要偷懒就没啥难度了.....

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号