目前在 android 设备的 App 上进行请求用同样的参数是可以办理成功的,并且有 VNET/Charles 的抓包数据。如果能对脚本的请求进行抓包,再将两者对比起来看,问题就容易暴露了。
Charles 抓包 curl
Charles 抓包的教程网上比较多,这里就不赘述了,需要注意的是和 VNET 一样,App 登录阶段不能抓包,否则登录界面调不出来。
Charles 可以抓 App 的报文,如果也能抓脚本的报文,两个一对比问题就水落石出啦~
经过一番百度,发现要让 Charles 抓命令行的报文还比较麻烦,需要配置两个环境变量:
export http_proxy=172.21.222.149:8888
export https_proxy=172.21.222.149:8888
复制代码
其中 172.21.222.149:8888 就是 Charles 开启代理的 IP 和端口:
然而开启抓包后,curl 要么失败,要么卡住,总是抓不到包:
> sh jinjing.sh
check jq ok
check curl ok
check head ok
check cat ok
check awk ok
check grep ok
check date ok
state req: {"v":"3.4.1","sfzmhm":"150121198603226428","s-source":"bjjj-android","timestamp":"1677810190000"}