时间:2023-07-24
网址:aHR0cDovL3d3dy56am1hemhhbmcuZ292LmNuL2hkamxwdC9wdWJsaXNoZWQ/dmlhPXBj
反爬:js逆向基础#header反爬>cookie(szxx_session)+X-Csrf-Token
视频:https://www.bilibili.com/video/BV1rX4y1n7cC/
b64:http://www.jsons.cn/base64/
curl:https://spidertools.cn/#/curl2Request
声明:文章代码仅供学习交流,如有问题可到文章末尾加我联系删除
反爬参数如图
知识点提前Get
cookie要么是JS(客户端)生成的,要么是服务器返回的,需要在网页界面按Fn+F12打开开发者工具平台观察
可以通过Response Headers响应头是否是Set-Cookie判断为服务器cookie
或者是否有HttpOnly属性判断为服务器cookie
研究cookie,得先Fn+F12打开开发者工具平台,清空网页cookie缓存
第一种方式删除目标cookie清除
第二种直接全清,无论是哪个网址的cookie
第三种方式选择目标网址清cookie
视频讲解流程
详细分析流程
1.首先,我们如何判断有cookie反爬,先清空所有cookie,模拟请求
2.接着清空所有请求流,方便分析,刷新网页
3.然后搜索目标数据内容,定位具体的接口是哪个
4.这里我们确定了哪个接口后,可以过滤筛选只看这个接口
5.然后我们鼠标右击目标接口,copy>copy as curl(cmd)
6.打开https://spidertools.cn/#/curl2Request 直接生成requests请求
7.打开pycharm,新建python文件,复制上面的requests请求,运行代码,发现数据未正常返回,简单的看了下可能是如下三个参数有反爬szxx_session与X-Csrf-Token与XSRF-Token
8.重复操作流程1~3,搜索目标cookie参数值在哪个接口产生,如szxx_session和XSRF-Token,我们定位到这里产生
9.重复操作流程5~7,复制请求,如图我们拿到了如下cookie参数szxx_session和XSRF-Token
10.我们把生成cookie的接口和数据接口两个接口合并,再次测试,仍然响应失败
11.重复操作流程1~3,再次搜索目标请求头的参数X-Csrf-Token在哪里生成的,发现它就是响应文本里面的
12.这个时候,我们继续修改代码,把X-Csrf-Token加上,运行成功
13.在上面代码中,服务器的cookie参数,我们直接通过response.cookies拿到的,然后再传输到下一个接口中,实际上来自服务器的cookie请求,我们还可以直接通过session管理,所以可以修改代码如下,session可以自动帮我们管理服务器生成的cookie
代码仅供学习交流
The End~
原文始发于微信公众号(逆向OneByOne):爬虫入门-服务端cookie反爬与header反爬
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论