某乎搜索接口x-zse-96参数逆向学习分析,网站:aHR0cHM6Ly93d3cuemhpaHUuY29tLw==

目标参数:x-zse-96

参数分析:

全局搜索x-zse-96,只有两个地方出行,打上断点后刷新网页

从图中断点地方可以看到,搞清楚u()(f()(s))的由来就解决了x-zse-96

可以看到s参数是由以下几部分组成:

1、101_3_2.0(固定版本号) 2、url请求后缀拼接参数 3、cookie里的d_c0字段 4、headers里的
x-zst-81字段。

 进一步分析进入f()函数

 把相关代码全部扣下来

 再返回看u()函数,进入u()函数 ,就是这里

同样从上到下全部抠出来,有点长,截图没截全

自己写一个函数调用刚抠出来的两个函数,要补一下环境

 

 

 

python调用运行测试确实是可以请求到数据,headers和cookies抓包获取

import requests, urllib, execjs
headers = {
}
cookies = {
}
params = {"t": "general","q": "python","correction": "1","offset": "0","limit": "20","filter_fields": "","lc_idx": "0","show_all_topics": "0","search_source": "Normal"
}
f = open(r"zse.js", 'r', encoding='UTF-8')
jsstr = f.read()
sign_get = execjs.compile(jsstr, cwd=r'C:\Users\DSY\AppData\Roaming\npm\node_modules')
dd = '101_3_2.0+' + urllib.parse.quote(str(params)) + "+" + cookies["d_c0"] + "+" + headers["x-zst-81"]
a = sign_get.call("get_sig", dd)
headers["x-zse-96"] = a
url = "https://www.zhihu.com"
response = requests.get(url, headers=headers, cookies=cookies, params=params)
print(response.text)
print(response)

 楼主是小白,大佬勿喷


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部