我试着通过脚本在当当网( https://login.dangdang.com/ )判断一个手机号码是否已经注册过,下面的浏览器发送的参数:
t: 1653661422695
ct: pc
permanent_id: 20220527222303660356159866560768420
requestId: 2205272223209660Q3KN8O_ab63
mobile_phone: 13162072077
sign: 01ZJ+f8vDhYyMogVCLJl7e9kMAS7RfHsqPDz5UkUrMgF1Ah2r2hW+XOBNYnVooLW
其中t是时间戳,ct是客户端类型。permanent_id的含义不清楚,但可能和 expire 时间有关;requestId可能是由时间字符串加上一些随机数构成。
多次调整mobile_phone,发现permanent_id和requestId不变,但其签名sign会发生改变。按照爬虫的设计,签名应该是对请求数据进行某种加密。
请问大家有思路吗?
1
F12 May 27, 2022
能有什么思路,分析源码呗
|
3
viiber May 27, 2022 via Android
基本上很难看出来,除非是恰好(比如说 ef 之类的开头看多了就会知道是 base64 加密过的),这种说实话我也没头绪,写爬虫的时候一般就用 selenium 来规避这些参数的模拟了。
|
4
des May 27, 2022 via iPhone
前端 js 不是直接看的到吗,自己扒代码
|
5
cpstar May 28, 2022
OP 2# 你看他加载的 JS 库,基本就能猜出用什么加密,其实也不能算加密,也就是 MD5 、SHA1 、SHA256 之类的算摘要
|
6
krapnik May 28, 2022
|