鱼C论坛

 找回密码
 立即注册
查看: 2157|回复: 1

[作品展示] 12306模拟登陆

[复制链接]
发表于 2018-7-11 17:58:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 幽梦三影 于 2018-7-11 18:35 编辑

12306的验证码靠的是捕捉鼠标坐标来验证的
可通过qq截图从第一个点移动到第二个点查看坐标

  1. from http.cookiejar import CookieJar
  2. import urllib.request as u
  3. import urllib.parse
  4. import json
  5. import easygui as e

  6. url = 'https://kyfw.12306.cn/passport/captcha/captcha-check'
  7. cookie = CookieJar()
  8. opener = u.build_opener(u.HTTPCookieProcessor)
  9. img_url = 'https://kyfw.12306.cn/passport/captcha/captcha-image?login_site=E&module=login&rand=sjrand&0.2303874087852643'
  10. headers = {'User-Agent':"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0"}
  11. rep = u.Request(img_url,headers=headers)
  12. html = opener.open(rep).read()
  13. with open('验证码.png','wb') as f:
  14.     f.write(html)

  15. num = e.enterbox(msg='请输入验证码坐标',image='验证码.png')
  16. data = {
  17.     'answer':num,
  18.     'login_site':'E',
  19.     'rand':'sjrand'
  20. }
  21. data = urllib.parse.urlencode(data).encode('utf-8')
  22. rep = u.Request(url,headers=headers)
  23. html = opener.open(rep,data=data).read().decode('utf-8')
  24. if json.loads(html)['result_code'] == '4':
  25.     print('验证码校验成功')
  26.     user = []
  27.     title = '登录'
  28.     msg = '请输入用户名和密码'
  29.     fields = ['用户名','密码']
  30.     user = e.multpasswordbox(msg,title,fields=fields)

  31.     form = {
  32.         'appid':'otn',
  33.         'password':user[1],
  34.         'username':user[0]
  35.     }
  36.     log_url = 'https://kyfw.12306.cn/passport/web/login'
  37.     form = urllib.parse.urlencode(form).encode('utf-8')
  38.     rep = u.Request(log_url,headers=headers)
  39.     html = opener.open(rep,data=form).read().decode('utf-8')
  40.     if json.loads(html)['result_code'] == 0:
  41.         print('登录成功')
  42.     else:
  43.         print('登录失败')
  44. else:
  45.     print('验证码校验失败')


复制代码



InkedUT6ZX6{`0YI_PM5QF[BV((H_LI.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-7-11 18:24:04 | 显示全部楼层
厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-21 16:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表