点击上方“Python共享之家”,进行关注

回复“资源”即可获赠Python学习资料

烟笼寒水月笼沙,夜泊秦淮近酒家。

大家好,我是皮皮。前几天给大家分享jsrpc的介绍篇,Python网络爬虫之js逆向之远程调用(rpc)免去抠代码补环境简介,感兴趣的小伙伴可以戳此文前往。

今天给大家来个jsrpc实战教程,让大家加深对jsrpc的理解和认识。下面是具体操作过程,不懂的小伙伴可以私我。

1、对Cookie进行hook,需要在浏览器的控制台输入命令Object.defineProperty(document, "cookie", {set:function(a){debugger}})

2、之后点击下一页,进入debug模式

3、依次点击右边的Call Stack内的东西,直到找到加密函数,里边的值对应请求参数即可判定。

4、之后可以在控制台输入指令window.dcpeng = ct.update,其中ct.update为加密函数。注意:这个地方挺重要的,很多时候我们会写成ct.update(),这样会有问题!加了括号就是赋值结果,没加就是赋值整个函数!千差万别。

5、关闭网页debug模式。注意:这个地方挺重要的,很多时候如果不关闭,ws无法注入!

6、此时在本地双击编译好的文件win64-localhost.exe,启动服务。

7、之后在控制台注入ws,即将JsEnv.js文件中的内容全部复制粘贴到控制台即可(注意有时要放开断点)。

8、连接通信,在控制台输入命令var demo = new Hlclient("ws://127.0.0.1:12080/ws?group=v&name=test");

9、随后继续输入命令:

// 注册一个方法 第一个参数get_v为方法名,
// 第二个参数为函数,resolve里面的值是想要的值(发送到服务器的)
// param是可传参参数,可以忽略
demo.regAction("get_v", function (resolve, param) {// var c = "好困啊" + param;var c = dcpeng();resolve(c);
})

10、之后就可以在浏览器中访问数据了,打开网址 http://127.0.0.1:12080/go?group={}&name={}&action={}&param={} ,这是调用的接口 group和name填写上面注入时候的,action是注册的方法名,param是可选的参数,这里续用上面的例子,网页就是:http://127.0.0.1:12080/go?group=v&name=test&action=get_v

11、如上图所示,我们看到了那个变化的参数v的值,直接通过requests库可以发起get请求。

12、现在我们就可以模拟数据,进行请求发送了。

13、将拷贝的内容可以丢到这里进行粘贴:http://tool.yuanrenxue.com/curl

14、之后将右侧的代码复制到Pycharm中即可用,非常便利。

15、之后就可以构造请求了,整体代码如下所示。

import requestsv_url = "http://127.0.0.1:12080/go?group=v&name=test&action=get_v"
v_res = requests.get(url=v_url).json()["get_v"]cookies = {'session': '6c78df1c-37aa-4574-bb50-99784ffb3697.Qcl0XN6livMeZ-7tbiNe-Ogn8L4','v': v_res,
}headers = {'Connection': 'keep-alive','Accept': 'application/json, text/javascript, */*; q=0.01','X-Requested-With': 'XMLHttpRequest','hexin-v': 'A3_4zkkuI7xygCZatjHGiHM8DlgKZNPp7bnX-hFMGsZ175EOGTRjVv2IZ04i','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69','Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8','Origin': 'http://spider.wangluozhe.com','Referer': 'http://spider.wangluozhe.com/challenge/6','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
}data = {'page': '3','count': '10'
}response = requests.post('http://spider.wangluozhe.com/challenge/api/6', headers=headers, cookies=cookies, data=data, verify=False).json()print(response)

运行结果如上图所示,和网页上呈现的数据一模一样。

16、至此,请求就已经完美的完成了,如果想获取全部网页,构造一个range循环翻页即可实现。

17、也欢迎大家挑战该题目,我已经挑战成功了,等你来战!

总结

大家好,我是皮皮。这篇文章主要给大家介绍了jsrpc的实战教程,使用jsrpc工具可以在网络爬虫过程中事半功倍,无需仔细的去扣环境,去一步步逆向,只一个黑盒的模式,我们就拿到了想要的结果,屡试不爽。

初次接触jsrpc的小伙伴可能看不懂,这里还有黑哥录制的一个视频,大家可以对照视频进行学习,地址:https://www.bilibili.com/video/BV1EQ4y1z7GS,黑哥全程无声演示,视频的BGM很大,建议大家可以静音播放,领会其中奥义。

关于jsrpc工具,可以点击原文前往获取。

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

------------------- End -------------------

往期精彩文章推荐:

  • Python网络爬虫之js逆向之远程调用(rpc)免去抠代码补环境简介

  • 一文带你了解Python Socket 编程

  • 盘点一道Python列表合并的基础题目(列表推导式)

  • 手把手教你使用Pandas实现DataFrame分组条件查找值

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【

万水千山总是情,点个【在看】行不行

Jsrpc学习——Cookie变化的网站破解教程相关推荐

  1. Jsrpc学习——网易云热评加密函数逆向

    点击上方"Python共享之家",进行关注 回复"资源"即可获赠Python学习资料 今 日 鸡 汤 烟笼寒水月笼沙,夜泊秦淮近酒家. 大家好,我是皮皮. 前几 ...

  2. 2个Python学习网站制作教程

    最近次条总结了一些2个Python学习网站制作教程的一些核心技术,这里整理了下一些目录,分别是两个网站,大部分技术都在前端,熟悉前端的话直接可以查看网页源码对应去了解学习,这些教程重在理解思路,思路通 ...

  3. 爬虫进阶教程:极验(GEETEST)验证码破解教程

    原文链接及原作者:爬虫进阶教程:极验(GEETEST)验证码破解教程 | Jack Cui 一.前言 爬虫最大的敌人之一是什么?没错,验证码![Geetest]作为提供验证码服务的行家,市场占有率还是 ...

  4. python网站开发教程,python在线编程网站

    python学习网站哪个好? python学习网站[达内教育]好,该机构不仅有丰富的教学经验,而且有丰富的Python项目实战经验,会从模拟的Python项目出发,依托真实的Python业务项目,进行 ...

  5. Xshell Plus 6标准版详细安装破解教程,解决评估过期问题(附注册机,全网独家可用),非学校/家庭免费版

    声明:相关软件仅供学习研究软件之用,不得用于商业用途,请大家购买正版,支持正版软件,请认准官方正版网站,与此同时,本软件数字签名为NetSarang Computer,与苏州思杰马克丁无关 注册机百度 ...

  6. python零基础入门教程学习要多久-廖雪峰python教程要学多久-零基础学Python需要多久...

    零基础学python大约需要多久 看不同的人,不同的学习能和基础. 像我通java,vc ,javascript,groovy,vb,c 接触过c#,delphi,asp,E语言, 用过dreamwa ...

  7. 学习Qt的资源-网站、论坛、博客等

    来自<零基础学Qt 4编程>一书的附录 附录C Qt资源 C.1 Qt 官方资源 全球各大公司以及独立开发人员每天都在加入 Qt 的开发社区.他们已经认识到了Qt 的架构本身便可加快应用程 ...

  8. 阿里云centos云服务器 - 网站搭建教程

    这里介绍一下,如何使用centos阿里云服务器搭建网站? 搭建网站需要有服务器,需自行购买: 如果想使用免费的,且是个人博客,推荐一个免费的github 下面还是介绍正规的网站搭建: 详细 · 步骤如 ...

  9. python中小学生编程学习-推荐几个适合小白学习Python的免费网站

    9gd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 想要学好python,只靠看Python相关的书籍是远远不够的!互联网时代,我们还要充分利用网络上的免费资源,不然怎样成为一 ...

  10. 【视频教程】帝国CMS制作网站系列教程08—单页模板的制作

    作为一个程序员,搭建一个自己的博客网站是件非常容易的事情,但是作为很多非程序员非计算机专业的学习者来讲,可能就需要花点时间进行学习,而如果你想通过自学来学习怎么制作一个属于自己的网站的话,那这套帝国C ...

最新文章

  1. python自动化办公pdf-基于python实现自动化办公学习笔记
  2. 一台台式计算机的主要配件有哪些,电脑的基本配件有哪些
  3. Dictionary,hashtable, stl:map有什么异同?
  4. JavaScript内存释放
  5. BlockJUnit4ClassRunner
  6. cf769D(枚举位或运算)
  7. DTS开发记录(序)
  8. 信息学奥赛一本通(1244:和为给定数)
  9. Ubuntu系统强制关闭程序
  10. 存数组元素的个数_HashMap1.8之后为什么要采用数组+链表+红黑树的储存方式?
  11. docker .env文件_基于Docker搭建Nacos集群
  12. Linux之top命令
  13. 迷你上标和下标复制大全(含0~9、字母、特殊字符)
  14. 民生银行java 面试_2019民生银行招聘面试试题及答案解析
  15. SPSS数据分析-交叉表分析
  16. 第二节 单个正态总体参数的假设检验
  17. 高中数学解题方法技巧之秒杀解三角形难题(图文讲解)
  18. struct的基本使用-go篇
  19. linux降调软件下载,o的发音有几种
  20. [vijos 1770]大内密探

热门文章

  1. 2005冬季转会名单-PS
  2. Ensembl突变数据描述之(一)——突变物种数据库及预测工具
  3. [转帖]16nm国内最先进 兆芯展示x86 KX-6000八核处理器
  4. LaTeX字符加的各种帽子
  5. Kruise Rollout: 让所有应用负载都能使用渐进式交付
  6. 2019中南大学计算机考研分数线,中南大学2019年硕士研究生招生复试基本分数线...
  7. 水库欧神评论雄安新区房产:999年358天
  8. macOS 原生系统压缩文件在 Windows 上解压可能会乱码的原因及解决办法
  9. 软件测试——界面测试
  10. guided filter matlab,导向滤波器(Guided Filter)