一、JS加密

1.有的反爬虫策略采用js对需要传输的数据进行加密处理。

2.经过加密,传输的就是密文

3.加密函数或者过程一定是在浏览器完成,也就是一定会把代码(js代码)暴露给使用者

4.通多阅读加密算法,就可以模拟出加密过程,从而达到破解。

5.举一个案例

"""

破解有道词典

"""

from urllib import request,parse

​

def youdao(key):

    url = "http://www.fanyi,com/translate_o?smartresult=dict&smartresult=rule"

    data = {

        "i":"girl",

        "from":"AUTO",

        "to":"AUTO",

        "smartresult":"dict",

        "client":"fanyideskweb",

        "salt":"",

        "sign":"b8a55a436686cd89873fa46514ccedbe",

        "doctype":"json",

        "version":"2.1",

        "keyfrom":"fanyi.web",

        "action":"FY_BY_REALTIME",

        "typeResult":"False"

    }

​

    data = parse.urlencode(data).encode()

    headers = {

        "Connection": "keep - alive",

        "Content - Encoding":"gzip",

        "Content - Language": "zh - CN",

        "Content - Type": "text / html",

        "charset":"utf - 8",

        "Date": "Mon, 17 Feb 2020 15: 23:36 GMT",

        "Server":"nginx",

        "Transfer - Encoding": "chunked",

        "Vary": "Accept - Encoding"

    }

    req = request.Request(url=url,data=data,headers=headers)

​

    rsp = request.urlopen(req)

​

    html = rsp.read().decode()

    print(html)

​

if __name__ == "__main__":

    # for i in range(10000):

    #     print(sum)

youdao(45)

二、源码

Reptitle8_1_JSEncryption.py

https://github.com/ruigege66/PythonReptile/blob/master/Reptitle8_1_JSEncryption.py

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

最新文章

  1. 比较完整的WebView的用法
  2. JavaScript 作用域知识点梳理
  3. EF实体框架之CodeFirst一
  4. 【HDU 4408】Minimum Spanning Tree(最小生成树计数)
  5. EffectiveJava——用函数对象表示策略
  6. js:数据结构笔记9--二叉树
  7. [原创]Keys的基本操作总结,判断Keys中是否存在Keys.Control|Keys.Alt,移除Keys中的部分键值。
  8. iOS 进阶 第十九天(0423)
  9. 第一个leapmotion的小游戏
  10. CDATA
  11. 感知机(perceptron)
  12. 操作数据表中的记录——SELECT (where表达式、GROUP BY、HAVING、LIMIT)
  13. 框架 之 -------Spring
  14. SQL Server的Linked Server支持使用SEQUENCE吗?
  15. 日常开发工作常用linux命令
  16. 「2017 Multi-University Training Contest 7」2017多校训练7
  17. servelet基础
  18. pythone函数基础(7)第三方模块学习
  19. angular下载安装
  20. PHP后门的eval类和system类 函数到底有哪些区别

热门文章

  1. javaweb垃圾分类查询系统源码 ssm+mysql
  2. 《手把手教你构建自己的 Linux 系统》学习笔记(3)
  3. SWIG 3 中文手册——10. 参数处理
  4. 初识Idea,部署Maven项目常见问题解决方案
  5. PHP0019:PHP 图像验证码 、图像水印效果 、 生成缩约图
  6. vue(二)--条件语句
  7. .net core 3.0 swagger
  8. Java-天平称重
  9. 剑指offer-面试题20-表示数值的字符串-字符串
  10. win10c盘被下满文件解决办法