随缘发文~某乎搜索接口header参数x-zse-96、x-zst-81 JS逆向分析。本文章仅供学习研究,如若侵犯到贵公司权益请联系[email protected]第一时间进行删除;各位朋友切忌用于一切非法途径,否则后果自行承担!
地址:aHR0cHM6Ly93d3cuemhpaHUuY29tL3NlYXJjaD90eXBlPWNvbnRlbnQmcT0lRTUlOEMlOTclRTQlQkElQUM=
打开网址,输入关键词,点击搜索,寻找接口参数。
很容易就找到的接口。
先看下表单参数情况:
除了翻页参数offset和q参数其他都不变,q是关键词。这里直接curl看一下能否请求成功。
这里经过测试我把所有必须的参数(少一个都请求不得数据)贴出,具体你们自己去测试就好。参数分别是 cookie中的d_c0;header中的x-zse-93、x-zse-96以及UA。
d_c0请求初始地址返回的,x-zse-93固定,下面主要介绍x-zse-96。
直接搜索
进入js文件并定位到相关函数
打上断点重新点击搜索按钮
断住。
看一下这段代码
var g = z()
, E = function(e, t, n) {
var r = n.zse93
, i = n.dc0
, o = n.xZst81
, c = U(e)
, u = M(t)
, s = [r, c, i, B(u) && u, o].filter(Boolean).join("+");
return {
source: s,
signature: a()(l()(s))
}
}(t, u.body, {
zse93: b,
dc0: g,
xZst81: v
})
, y = E.signature;
O = E.source,
v && h.set("x-zst-81", v),
h.set("x-zse-93", b),
h.set("x-zse-96", "2.0_" + y)
h.set(“x-zse-96”, “2.0_” + y) 就是向header对象设置x-zse-96参数,
x-zse-96 = “2.0_” + y
y = E.signature
E.signature = a()(l()(s))
最终x-zse-96就是----->将s放入l方法中得到的返回值,在传入a方法计算得到。
s = [r, c, i, B(u) && u, o].filter(Boolean).join("+");
s把一个数组对象拼接成字符串:
s里面分为两部分,前段部分是请求的url加上params,后部分是上面说的cookie里面的d_c0参数。
a方法 l方法来自这里:
打上断点重新刷新网页
进入下一步到分发器
后面的就不再深入了~js拿出来,增删改查,效果:
x-zst-81写文章的时候发现可以固定,且我运行了之前很久的代码可以跑通,so~就不分析了。
不多介绍,现在直接太水了~
总结:good good xuexi,day day up,少掉头发。
码字不易,如果本篇文章对你有帮助请动动小手点个赞8,谢谢~
合作及源码获取vx:tiebanggg 【注明来意】
QQ交流群:735418202
需要更多资源扫下方二维码关注微信公众号 :
*注:本文为原创文章,转载文章请附上本文链接!否则将追究相关责任,请自重!谢谢!