某查请求头反爬

Python爬虫scrapy

共 867字,需浏览 2分钟

 · 2021-09-24

某查请求头反爬破解

image-20210923150835784

某查 api 接口请求的请求头都会增加这么一个头,每次请求都会刷新,如果不携带就会返回状态码 405

image-20210923152102481

随便找个有此请求头的接口

https://www.***.com/api/company/getDynamic?keyNo=3b0d862f931ada85bbe3c5e429603122

查看调用栈

image-20210923152352927

点击进入,打断点,调试。

找到生成 headers 的地方。headers 应该是在请求之前就设置进去了,所以就可以进去 main.js 搜索一下关键词

image-20210923153302770

百度找了下,js 中设置请求头的方法

XHR.setRequestHeaderajax请求中直接设置 headers: {}就找到这两个,所以就直接在 js 中
搜 setRequestHeader 和 headers, 有这两个关键词的地方都不是很多,并且设置请求头的地方就更少了

堆栈信息里就两个 js , 都找一下,打断点,各种试。main.js 30万行,调试起来有点难受,不知道有啥好办法

最后运气好找到了

image-20210923172346351
image-20210923172958827

ok 了

image-20210923191714960

打断点调试,最后发现是 hmac 加密,同一个请求加密的结果是一样。后端会校验。

image-20210924140804205

python重写就完了


本文仅做研究学习使用

浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报