二维码登陆

本文介绍了一款基于微信扫码的免密码登陆软件,详细解释了实现原理,并展示了初步版本的网站地址。软件通过微信扫码功能,实现了方便快捷的登陆体验,支持包括百度、微博、OSChina在内的多个平台。后期计划增加JavaSDK、.NET SDK及APP扫码登陆客户端等功能。

       上一段时间研究微信公共账号,发现微信提供了一个扫码登陆验证的功能。近期头痛于经常忘记用户名密码,因此考虑是否可以结合这个功能,完成免密码登陆。百度后发现,有很多仁兄已经做过类似的功能了。

       如这篇文章: 实现网站二维码扫描登录

       仔细研究后,发现很多平台都提供了类似的功能,如百度、微博、OSChina等。因此考虑设计一款软件,将此项功能推广到其他平台和应用场景。毕竟可以方便像我这样的懒人。经过一番捣鼓后,初步版本已经基本完成了, 网站地址:http://it.maerdym.cn/mm_mishu/ 。大家可以通过微信扫码完成登录测试。

       微信扫码的实现原理如下:

      微信扫码登陆核心流程

      用户打开扫码登陆的网页,浏览器首先请求 验证系统(mishu)获取二维码图片地址并显示在网页上。用户打开微信扫描二维码,打开微信引导页。微信引导页会将用户的信息传递给业务系统。业务系统拿到微信用户信息后,通知验证系统用户扫码成功。

     在此过程中,登陆页面一直轮询请求,客户是否扫码登陆成功,一旦登陆成功,便跳转到登陆成功页,完成登录操作。

     此过程中涉及两项核心流程:获取验证码和验证码确认流程:

                        获取验证码

                         验证码确认

       

              通过上述过程便完成了扫码登陆(二维码登陆)功能。



    --------------------------------------------------------------文毕-------------------------------------------------------------------



      后期会加入Java SDK、DoNet SDK 并推出 APP 扫码登陆客户端等功能。感兴趣的同学可以关注:http://it.maerdym.cn/mm_mishu/。如果需要源码,请评论里留下邮箱。


     注:登陆http://it.maerdym.cn/mm_mishu/网站后,如果扫码无法登陆,请先关注公共号:(测试用的)

   

      


Python爬虫抓取二维码通常用于自动化登录网站,当某个网站提供了二维码图片链接,你可以通过图像识别技术获取其中包含的数据,比如二进制,然后使用相关的库如`pyzbar`解析成条形二维码。接下来,可以结合`requests`发送POST请求到服务器的登录接口,并携带解后的数据作为登录凭证。 以下是简单的步骤: 1. **安装依赖库**:首先需要安装`PIL`库处理图像,`pyzbar`库用于二维码识别: ``` pip install pillow pyzbar ``` 2. **读取并识别二维码**: ```python from PIL import Image import pyzbar.pyzbar as pyzbar url = 'http://your-qr-code-url.com' img_data = requests.get(url).content image = Image.open(BytesIO(img_data)) decoded_data = pyzbar.decode(image) if decoded_data: qr_code_data = decoded_data[0].data.decode('utf-8') else: print("无法识别二维码") ``` 3. **构造登录数据**: 根据网站的具体要求,可能需要将二维码数据加上其他信息(如密码、token等)构建成登录表单的数据。 4. **模拟登录**: 使用`requests`发起POST请求到登录API: ```python login_url = 'https://your-login-api.com/login' payload = {'login_key': qr_code_data, 'password': 'your_password'} response = requests.post(login_url, data=payload) ``` 请注意,这只是一个基本框架,实际操作可能会因为网站的安全策略而有所不同,例如某些网站可能需要对二维码描时间、IP限制等进行验证。此外,频繁地自动登录可能违反网站服务条款,所以在进行这类操作时务必遵守相关规定。
评论 186
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值