模拟登陆求助

AAvein 2020-05-05 09:15:25
import requests
from lxml import etree
import base64
from PIL import Image

session = requests.Session()
url = 'https://so.gushiwen.org/user/login.aspx?from=http://so.gushiwen.org/user/collect.aspx'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
page_text = session.get(url=url, headers=headers,).text
tree = etree.HTML(page_text)
img_src = 'https://so.gushiwen.org' + tree.xpath('//*[@id="imgCode"]/@src')[0]
res = requests.get(url=img_src).content
with open('./code.gif','wb') as f:
f.write(res)
Image.open('code.gif').save('code.png')

'''
通用文字识别
'''

host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=L9BNPAgFmP7RRB4D0cFlhGUi&client_secret=eqE1iCj0kcMk53lpjMv3KbBoItX5MrkG'
response = requests.get(host).json()
access_token = response['access_token']
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
# 二进制方式打开图片文件
f = open('code.png', 'rb')
img = base64.b64encode(f.read())

params = {"image":img}
# access_token = host
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers).json()
code = response['words_result'][0]['words']
print(code)

Login_url = 'https://so.gushiwen.org/user/login.aspx?from=http%3a%2f%2fso.gushiwen.org%2fuser%2fcollect.aspx'
data = {
'__VIEWSTATE': 'Em4iCpnL3M3DrcgCu77COw33yUvSBkBcNV9Alv2+79sgFsGVhqyvPSI7LNRUv6yr3Zl1ZhvOHez60jaQmRF2sSBVKPNxXmrUeZgX1XGyQF1If1pVWgucP8Ivg+k=',
'__VIEWSTATEGENERATOR': 'C93BE1AE',
'from': 'http://so.gushiwen.org/user/collect.aspx',
'email': '1303541051@qq.com',
'pwd': 'zdy0519',
'code': code,
'denglu': '登录'
}

page_text = session.post(url=Login_url, headers=headers, data=data).text
with open('gushiwen.html','w',encoding='utf-8') as f:
f.write(page_text)



这是我模拟登陆一个古诗网的代码,但是一直提示验证码错误,我看了看百度云识别出来的验证码没错啊,请问问题在哪儿
...全文
68 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
AAvein 2020-05-05
  • 打赏
  • 举报
回复
引用 1 楼 wangcj201592042 的回复:
headers里面应该需要添加手动验证通过后生成的cookies信息
解决了,图片获取那里应该用session,我没用
AAvein 2020-05-05
  • 打赏
  • 举报
回复
我用session就是获取了cookie啊 而且我也试了试在headers里面添加cookie 也是不行
wangcj-2020 2020-05-05
  • 打赏
  • 举报
回复
headers里面应该需要添加手动验证通过后生成的cookies信息
增加 针对整个考试学习系统全面升级,目前基本全面支持多个版本浏览器。如:微软IE、360浏览器、谷歌浏览器等 *增加 批量导入名单时,如发现帐号有重复时可以选择覆盖与不覆盖,默认为不覆盖 *增加 在线监考模块添加作弊标记功能 *增加 手机版本开通注册用户功能 *增加 手机版本电子教材、课件添加类别查询选择功能 *增加 下达学习任务可设置为选修任务,未纳入的学员可自由选修此学习任务 *增加 考生可否自由打印成绩单,综合设置添加开关选项。 *增加 电子课件模块开放添加可链接其它网站的学习内容信息。 *增加 用户管理模块添加一键清除所有人员及单位结构等相关信息的功能。 *增加 添加批量清除每日一题答题记录功能。 *增加 添加手机模块的单点登录接口。 *增加 练习中心添加题库总数、已答总数,答对总数,答错总数等相关信息提示,方便学员更好练习。 *增加 学习进度中心添加删除功能,同时保留原来修改下达学习任务中的删除功能。 *增加 电子教材模块针对不同教材可添加学习笔记,查看他人学习笔记,学习交流功能。 *增加 电子课件模块针对不同课件可添加学习笔记,查看他人学习笔记,学习交流功能。 *增加 学习任务中心模块针对不同学习任务可添加学习笔记,查看他人学习笔记,学习交流功能。 *增加 考生个人中心添加我的学习笔记集,他人学习笔记集功能。 *增加 综合设置中添加考生默认首页自定义功能。 *增加 综合设置中添加整个系统的自动截取字符长度自定义功能。更适应各种分辨率屏幕。 *增加 在线批量导入添加excel导入功能,同时保留word,txt等文本批量导入功能,取消excel辅助工具。 *增加 管理员和分管理员也支持在线批量导入,原考生批量导入功能继续保留。 *增加 登陆界面添加验证码功能。 *增加 综合设置中新增在线练习中心可现场看答案还是提交后查看答案的设置选项。 *增加 管理端操作导航图添加更多考生端功能。 *增加 添加求助信息提示功能。 *增加 综合设置添加在线练习答对题数才得到相应学分值的设置。 *增加 每日一题做答后显示试题解析说明功能,并且答对才得学分。 *增加 系统将单位和部门下拉选择框分开显示,更适合集团用户使用。 *修改 完善手机版本电子课件模块,更好支持mp4格式 *修改 完善登录成功后首页默认菜单的显示功能 *修改 每日一题弹出显示不会因默认首页的改变而不显示。 *修改 自我模拟试卷有效期无效时禁止设置重考。 *修改 完善后续注册人员自动分发试卷功能。 *修改 电子课件查看时链接地址加密防盗链接。 *修改 试卷待审核状态时以红色字体显示。 *修改 重考次数达到上限时禁止设置重考。 *修改 系统中所有导出都提示下载提示,取消原来的直接下载以解决拦截问题。 *修改 点击顶层主菜单时右边主界面自动跳转到一级子菜单的第一个模块界面。 *修改 分管理员添加科目、教材类别、课件类别浏览人员和浏览部门默认为本人和本单位。 *修改 单点登陆接口添加直接跳转功能。 *修改 优化批量导入考生名单功能,简化格式要求。 *修改 优化人员选择控件,程序效率更高。 *修改 优化查看试卷批改明细功能。 *修改 优化在线调查功能,添加对调查结果完全保密功能。 *修改 优化软件相关界面因不同IE而产生的显示效果不一致问题。 *修改 完善其它相关模块。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧