网络乞讨之合并支付宝和微信的收款二维码
在博客的右边加了一个网络乞讨的二维码,但是支付宝和微信分别有两个二维码,要想个法子把它们合并一下。于是把支付宝和微信的收款 二维码解码了一下(可以找二维码解码工具,如果是iOS用户,直接用自带的相机扫描,就会弹出来是否打开),发现支付宝的是一个链接, 但是微信的是一个自有链接。
扫码试了一下,发现打开链接的时候,可以根据 UserAgent
来判断,支付宝会带一个 AlipayClient
,而微信会带一个 MicroMessenger
,
因此,根据 UserAgent
然后跳转就好了。但是有一个问题是,微信解码出来的数据,如果直接跳转的话,会是一个空白页面,所以,
解决办法就是,把微信的付款二维码的图片留下,如果是微信,那么就把微信付款二维码展示给用户看,否则就跳到支付宝的收款页面:
@app.route("/reward")
def reward():
user_agent = request.user_agent.string
if "MicroMessenger" in user_agent:
return redirect(config.WECHAT_PAY_URL)
else:
return redirect(config.ALIPAY_URL)
然后我们再生成一个二维码,内容是 https://jiajunhuang.com/reward
,这样子别人扫码就会跳转到这个URL,然后我们根据 UserAgent
进行跳转,大功告成!
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- frp 源码阅读与分析(一):流程和概念
- 用peewee代替SQLAlchemy
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(二):shim, docker-init和docker-proxy
- Docker组件介绍(一):runc和containerd
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程