婆罗门
精华
|
战斗力 鹅
|
帖子
注册时间 2004-1-27
|
本帖最后由 cxn 于 2023-12-12 17:39 编辑
上海这两年高级职称证书只有电子版,可以截图后打印,但是糊,打印出来的带二维码,直接扫是意味不明的字符串,需要在上海人社app里面扫二维码后才显示对应的电子证书,缩放电子证书画面字迹依然清晰,所以我怀疑是用那段字符串发送了一个get情况,然后app返回了一个pdf格式的电子证书,设计之初是让人在线查看用来验证的,没设计下载功能,但是这么清晰的pdf格式电子证书我就是想抓取出来保存在本地,有什么办法实现吗?
-----------------------------------------------------------------------------------------------------
11楼更新,发现不是pdf,而是png,而且不是链接,就是base64字符串,然后解决一个旧问题,冒出一个新问题
-----------------------------------------------------------------------------------------------------
阶段性总结:
先说个题外话——全国性职称证书可以自行通过中国人事考试网( http://www.cpta.com.cn/certQuery.html )下载,是pdf格式的。我这里头大的是上海当地的高级职称证书,根据上海市职称服务系统( http://www.rsj.sh.gov.cn/zcps/zcpssb/index )上《电子证书下载指南》的指导,需要通过上海人社app下载自己的证书,另外根据15#朋友的说法,随身办app也能下载,我没下载过,但估计不论怎么下载都是jpg格式吧。
上海这个证书呢,还自带验证用的二维码,通过上海人社app扫码来验,扫码返回的证书感觉更清晰一点,但是本身不提供将此验证结果(也就是更清晰的电子证书)另存的功能,所以我接受坛友的点拨,尝试了一下抓包,发现扫码后app客户端是把二维码对应的字符串拼接到get请求里发送给服务器,而服务器则是将相关图片文件编码成base64字符串响应给客户端。请求相对简短一点,形如 https://zzjb.rsj.sh.gov.cn/qrCod ... ...&mixedStr=...... ,响应就超长了,形如 {"code":0,"message":"成功","data":{"type":"datasrc","value":"data:image/png;base64,/9j/4A......"}} ,最后那段/9j/4A......字符串真的是超级长,是“复制粘贴到记事本里能把记事本卡死,保存成文本文件能有700KB那么大”的那种长度,所以很不好操作。最后我选择把 data:image/png;base64,/9j/4A...... 这段复制粘贴到Base64转image的在线工具( https://www.lddgo.net/convert/base64-to-image )里,通过此工具解码成图片文件后再下载回本地。另外,12#朋友说可以“chrome直接打开data:image/jpg;base64,{image_data}”来生成图片文件,我试下来生成的图片不全,可能还是因为字符串真的太长了导致的吧,所以目前看下来还是用在线工具效果更好。
以后有空再做深入研究
|
|