Shell 脚本获取微信登录二维码

Apr 21, 2021 • 预计阅读时间 1 分钟

生成二维码需要先获取 sdk_ticket,获取方法参考: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183

https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Login_via_Scan.html

根据官方的文档描述,得到 sdk_ticket 后,计算出签名,然后发起 GET 查询,就可以得到登录的二维码(Base64)。

测试脚本如下:

#!/usr/bin/env zsh

set -e

if [ $# -lt 2 ]; then
  echo "appid sdk_ticket [scope] [timestamp] [noncestr]"
  exit -1
fi

_appid=$1
_sdk_ticket=$2

_scope="snsapi_userinfo"
if [ $# -gt 2 ]; then
  _scope=$3
fi

_timestamp=`date '+%s'`
if [ $# -gt 3 ]; then
  _timestamp=$4
fi

_noncestr=`uuidgen`
if [ $# -gt 4 ]; then
  _noncestr=$5
fi

echo "appid=${_appid}"
echo "scope=${_scope}"
echo "noncestr=${_noncestr}"
echo "sdk_ticket=${_sdk_ticket}"
echo "timestamp=${_timestamp}"

_signature=(`echo -n "appid=${_appid}&noncestr=${_noncestr}&sdk_ticket=${_sdk_ticket}&timestamp=${_timestamp}" | shasum`)
_signature=${_signature[1]}
echo "signature=${_signature}"

_url="https://open.weixin.qq.com/connect/sdk/qrconnect?appid=${_appid}&noncestr=${_noncestr}&timestamp=${_timestamp}&scope=${_scope}&signature=${_signature}"
echo "GET ${_url}"

curl ${_url}
zsh
版权声明:如果转发请带上本文链接和注明来源。

lvv.me

iOS/macOS Developer

使用 -l 链接时,如何确定链接动态库还是静态库

FreeBSD 入门笔记