上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页
摘要: ### 补充: 原型链的hook, 比如要hook,字符串的split方法, 但是这样破坏了这个函数本身的逻辑,不好, 这样好,即重写了,而且,还没有破坏函数本身, 用这个方法,可以hook,更底层的内容,原生的一些方法逻辑, ### 但是通过toString会被检测到,这个方法被改写了, 所以有时 阅读全文
posted @ 2021-08-01 20:24 技术改变命运Andy 阅读(4435) 评论(0) 推荐(1) 编辑
摘要: ### 我发现一个事情,不管什么语言,代码的调用链,还有代码的作用域都是非常重要的内容,都需要好好的理解才行,包括js,还是python, ### 为什么要hook? 很简单,如果你遇到了cookie加密,那你就要找到cookie加密函数入口,那你就要hook, #### ### #### hook 阅读全文
posted @ 2021-08-01 17:46 技术改变命运Andy 阅读(2289) 评论(1) 推荐(1) 编辑
摘要: ### 调试干扰 第一个就是无限debug 就是代码里面有一个开发写了debug入口,你自己去debug的时候总是会调到这个地方, 导致无限debug, 但是这个无限,不是真正的无限,只是很频繁的去执行debug,而不是死循环,死循环会导致页面卡死 实现无限debug的常用的有3种方式: 1,是使用 阅读全文
posted @ 2021-07-30 19:18 技术改变命运Andy 阅读(824) 评论(0) 推荐(0) 编辑
摘要: ### js的语法掌握很重要,你正向的掌握的有多深,决定了逆向的水平有多深, ### js基础自己去学, ### 下面是js的一些高级功能 #### js的原型链, var obj= { } obj.__proto__ 就是js找一个方法的链条逻辑, 根据这个逻辑,我们就可以重写方法,然后达到攻击的 阅读全文
posted @ 2021-07-30 17:27 技术改变命运Andy 阅读(669) 评论(0) 推荐(0) 编辑
摘要: ### 爬虫是一个横向的岗位,你要多学习才可以, ### 网络协议 你要知道7层网络协议, 要知道tcp,udp,tcp的三次握手,四次挥手 要知道http的原理,https 要知道输入一个网址,回车之后,发生了什么? ### 抓包工具 fiddler,Charles,wareshark, pyth 阅读全文
posted @ 2021-07-29 23:00 技术改变命运Andy 阅读(560) 评论(1) 推荐(0) 编辑
摘要: # 背景 如果我们正在构建一个博客,我们可能需要一个表示博客文章的组件。我们希望所有的博客文章分享相同的视觉布局,但有不同的内容。要实现这样的效果自然必须向组件中传递数据,例如每篇文章标题和内容,这就会使用到 props。 # 定义一个含props的组件 Props 是一种特别的 attribute 阅读全文
posted @ 2021-07-29 12:56 技术改变命运Andy 阅读(145) 评论(0) 推荐(0) 编辑
摘要: # SQLAlchemy介绍 SQLAlchemy 是一个 Python 的 SQL 工具包以及数据库对象映射框架。它包含整套企业级持久化模式,专门为高效和高性能的数据库访问。 # 简单使用,代码示例 ``` from flask import Flask, request from flask_r 阅读全文
posted @ 2021-07-29 12:19 技术改变命运Andy 阅读(259) 评论(0) 推荐(0) 编辑
摘要: ### WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。 ### 安装: pip3 install wtforms ### 用户登录注册示例 1. 用户登录 当用户登录时候,需要对用户提交的用户名和密码进行多种格式校验。如: 用户不能为空;用户长度必须大于6; 阅读全文
posted @ 2021-07-29 11:51 技术改变命运Andy 阅读(79) 评论(0) 推荐(0) 编辑
摘要: # 前言 在了解flask上下文管理机制之前,先来一波必知必会的知识点。 # 面向对象双下方法 首先,先来聊一聊面向对象中的一些特殊的双下划线方法,比如__call__、__getattr__系列、__getitem__系列。 __call__ 这个方法相信大家并不陌生,在单例模式中,我们可能用到过 阅读全文
posted @ 2021-07-29 11:28 技术改变命运Andy 阅读(9) 评论(0) 推荐(0) 编辑
摘要: # 需求背景 需求 在一个Flask应用项目中,若业务视图过多,可否将以某种方式划分出的业务单元单独维护,将每个单元用到的视图、静态文件、模板文件等独立分开? 例如:从业务角度上,可将整个应用划分为用户模块单元、商品模块单元、订单模块单元,如何分别开发这些不同单元,并最终整合到一个项目应用中? # 阅读全文
posted @ 2021-07-28 20:08 技术改变命运Andy 阅读(168) 评论(0) 推荐(0) 编辑
摘要: # vue学习 - 从官方文档学习 - https://cn.vuejs.org/guide/introduction.html(这是vue3的官方文档) # 学习vue2,还是vue3? 直接说结论,如果你没有学过vue,就直接从vue3开始学, Vue 2 将于 2023 年 12 月 31 日 阅读全文
posted @ 2021-07-28 19:09 技术改变命运Andy 阅读(46) 评论(0) 推荐(0) 编辑
摘要: # 前言: 还记得对请求的session校验吗? 我们使用了装饰器来做的,这样每一个视图都要加装饰器, Django里面是使用的中间件来做的, 那么flask可以使用中间件来做吗? # Flask之钩子函数 类似django的中间件,作用就是在进入框架的之后 http方法之前或返回response之 阅读全文
posted @ 2021-07-28 19:09 技术改变命运Andy 阅读(50) 评论(0) 推荐(0) 编辑
摘要: ### 示例: 第一点,需要导入两个包 第二点,要设置一个app.secret_key 第三点,设置值,flash,运行多次就是设置了多次,就会产生一个列表,里面的值都是一样的,注意这个是每次设置一个值 第四点:取值,注意这个地方是一次取所有,取完之后,这个列表就是空的了, ### 具体有什么用呢? 阅读全文
posted @ 2021-07-28 18:46 技术改变命运Andy 阅读(54) 评论(0) 推荐(0) 编辑
摘要: # session会话 除了请求对象之外还有一种称为 session 的对象,允许您在不同请求 之间储存信息。这个对象相当于用密钥签名加密的 cookie ,即用户可以查看您的 cookie ,但是如果没有密钥就无法修改它。 ``` from flask import Flask, session, 阅读全文
posted @ 2021-07-28 18:25 技术改变命运Andy 阅读(63) 评论(0) 推荐(0) 编辑
摘要: # 请求对象 request 首先,您必须从 flask 模块导入请求对象: ``` from flask import request ``` ## request.method 通过使用 method 属性可以操作当前请求方法, ## request.form request.form['use 阅读全文
posted @ 2021-07-28 18:13 技术改变命运Andy 阅读(68) 评论(0) 推荐(0) 编辑
摘要: ### # 1、模板的使用 Flask使用的是Jinja2模板,所以其语法和Django无差别 Flask 和 Django 附带了强大的 Jinja 模板语言。 对于之前没有接触过模板语言的人来说,这类语言基本上就是包含一些变量,当准备渲染呈现 HTML 时,它们会被实际的值替换。 这些变量放在标 阅读全文
posted @ 2021-07-28 18:09 技术改变命运Andy 阅读(91) 评论(0) 推荐(0) 编辑
摘要: # 路由 现代 web 应用都使用有意义的 URL ,这样有助于用户记忆,网页会更得到用户的青睐, 提高回头率。 使用 route() 装饰器来把函数绑定到 URL: ``` @app.route('/') def index(): return 'Index Page' @app.route('/ 阅读全文
posted @ 2021-07-28 17:13 技术改变命运Andy 阅读(53) 评论(0) 推荐(0) 编辑
摘要: # 配置文件 # 第一种配置方法:直接写在代码文件里 ``` app.debug = True # 或者写成这样 app.config['debug'] = True app.secret_key = "aaaacccddd" ``` PS: 由于Config对象本质上是字典,所以还可以使用app. 阅读全文
posted @ 2021-07-28 16:59 技术改变命运Andy 阅读(107) 评论(0) 推荐(0) 编辑
摘要: # flask介绍: 1,flask的目标是核心简单,而且可以扩展,flask不会给你做决定,比如数据库,你用什么都行,一切由你做主, 2,做flask的越来越多了,按理说你学会了Django,你学习flask会非常简单, Django是一个比较重的框架,但是为了你能快速上手还是要学习一下, Dja 阅读全文
posted @ 2021-07-28 11:06 技术改变命运Andy 阅读(696) 评论(0) 推荐(0) 编辑
摘要: #### 使用scrapy-redis的意义 1,scrapy-redis源码在github上有,开源的 2,scrapy-redis是在scrapy基础上实现的,增加了功能, 第一个,requests去重, 第二个,爬虫持久化, 第三个,还有轻松实现分布式,scrapy-redis搞明白,这个是如 阅读全文
posted @ 2021-07-27 07:20 技术改变命运Andy 阅读(949) 评论(0) 推荐(0) 编辑
摘要: #### 下载中间件的用途 这个下载中间件,有两个用途,一个处理请求,一个处理响应 ### 下载中间件 添加随机UA, #### 在setting里面设置一个随机ua的列表, #### ### 注意一定要实现这个process_request方法,这个是在请求之前加一些处理, 如果是实现的proce 阅读全文
posted @ 2021-07-25 21:34 技术改变命运Andy 阅读(139) 评论(0) 推荐(0) 编辑
摘要: #### scrapy模拟登陆1 使用cookie登陆 有些网站的cookie过期时间很长,比如一些小网站, 我们可以保存这个cookie,然后携带cookie登陆, 如果操作: 思考,这个start_urls是谁发起的? 这个是在爬虫继承的父类,spider里面,有一个start_requests 阅读全文
posted @ 2021-07-25 21:12 技术改变命运Andy 阅读(619) 评论(0) 推荐(0) 编辑
摘要: ### 在Scrapy基础——Spider中。Spider基本上能做很多事情了,但是如果你想爬取一个网站的全站的话,你可能需要一个更强大的武器。CrawlSpider基于Spider,但是可以说是为全站爬取而生。 ## 生成一个crawlspider的爬虫: 命令:scrapy genspider 阅读全文
posted @ 2021-07-25 20:52 技术改变命运Andy 阅读(655) 评论(0) 推荐(0) 编辑
摘要: ### 爬虫解决翻页问题 import scrapy class Spider1Spider(scrapy.Spider): name = 'spider1' allowed_domains = ['17k.com'] start_urls = ['https://www.17k.com/all/b 阅读全文
posted @ 2021-07-25 19:18 技术改变命运Andy 阅读(115) 评论(0) 推荐(0) 编辑
摘要: #### # 1,mogodb安装: Mac OSX 平台安装 MongoDB MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包。 下载地址:https://www.mongodb.com/download-center#community 接下来我们使用 curl 阅读全文
posted @ 2021-07-24 20:23 技术改变命运Andy 阅读(121) 评论(0) 推荐(0) 编辑
摘要: #### 安装scrapy 安装:pip install scrapy #### 创建scrapy项目 进入你要创建项目的目录下来,在命令窗口,输入命令:scrapy startproject scrapy_demo1 ### 生成一个爬虫, 进入爬虫项目的根目录,然后执行命令,scrapy gen 阅读全文
posted @ 2021-07-24 17:14 技术改变命运Andy 阅读(208) 评论(0) 推荐(0) 编辑
摘要: #### 目录 面试的时候问你基础概念和工作流程,看看你对这个框架是否熟悉 ##### 其实使用requests+selenium就可以解决90%的爬虫需求了,但是为什么还需要学习scrapy? scrapy是为了让爬虫更快,更强,解决抓取效率慢,解决爬虫的效率和速度的问题, ##### 框架和模块 阅读全文
posted @ 2021-07-24 14:24 技术改变命运Andy 阅读(57) 评论(0) 推荐(0) 编辑
摘要: #### 安装与使用 安装与使用 install pip install aiohttp 简单实例使用 aiohttp的自我介绍中就包含了客户端和服务器端,所以我们分别来看下客户端和服务器端的简单实例代码。 客户端: import aiohttp import asyncio async def f 阅读全文
posted @ 2021-07-22 19:07 技术改变命运Andy 阅读(121) 评论(0) 推荐(0) 编辑
摘要: # 前言 先看这个文章: python进程,线程,协程,对比,思考: https://www.cnblogs.com/andy0816/p/15590085.html # 协程 进程和线程是计算机提供的,协程是程序员创造的,不存在于计算机中。 协程也可称为微线程,一种用户态的上下文切换技术(通过一个 阅读全文
posted @ 2021-07-22 01:45 技术改变命运Andy 阅读(119) 评论(0) 推荐(0) 编辑
摘要: BEAUTIFUL SOUP库 Beautiful Soup:美味汤 非常优秀的python第三方库 能够对html、xml格式进行解析,并且提取其中的相关信息 Beautiful Soup可以对你提供给他的任何格式进行相关的爬取,并且可以进行树形解析 使用原理:把任何你给他的文档当成一锅汤,然后煲 阅读全文
posted @ 2021-07-19 16:52 技术改变命运Andy 阅读(425) 评论(0) 推荐(0) 编辑
摘要: ### ipython,是python解释器的一个加强版本,非常的好用,我要用起来, ##### 安装: pip install ipython #### 使用: 其与原版python命令行工具不同在于ipython的提示符变成了in和out. in为输入命令的地方,out为命令执行完成后输出的地方 阅读全文
posted @ 2021-07-19 11:36 技术改变命运Andy 阅读(136) 评论(0) 推荐(0) 编辑
摘要: redis简介 REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、 阅读全文
posted @ 2021-07-18 06:48 技术改变命运Andy 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 安装步骤 在Mac的终端上输入git检测是否安装git,如果没有,就去安装git 安装完成之后,在终端输入 git --version 查看版本信息 创建一个全局用户名、全局邮箱作为配置信息 git config --global user.name "your_name" git config - 阅读全文
posted @ 2021-07-18 06:34 技术改变命运Andy 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 90% Line 参数正确的含义: 那看看JMeter 官网是怎么说的? 90% Line - 90% of the samples took no more than this time. The remaining samples at least as long as this. “ 90% 阅读全文
posted @ 2021-07-12 16:37 技术改变命运Andy 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 1,持续测试, 2,尽早测试,尽早暴露问题,提升效率 3,测试放松一点,那质量问题就会成倍的放大, 测试的对自己的要求要高,你自己对测试质量的要求太低了,测试这里放松一下,问题就会放大几倍!!!!测试是最后的质量防线了 4,测试最重要的是什么?我觉得这个每一个人都没有固定的答案,我觉得测试就像是做人 阅读全文
posted @ 2021-06-04 18:29 技术改变命运Andy 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 今天升级了之后发现数据库的告警了,达到了cpu85% 开始定位 1,查流量,可以统计nginx的流量, 看看是不是有大流量导致的告警, 定位之后发现流量不大 2,看slow慢日志,slow.log 看看是不是因为新功能有慢查询导致的, 定位之后,是出现了不少慢日志, 3,先把新的功能关闭开关,但是还 阅读全文
posted @ 2021-06-03 23:28 技术改变命运Andy 阅读(52) 评论(0) 推荐(0) 编辑
摘要: # 什么是 CI/CD CI、CD 其实是三个概念,包含了一个 CI 和两个 CD,CI全称 Continuous Integration,表示持续集成,CD包含 Continuous Delivery和 Continuous Deployment,分别是持续交付和持续部署。这三个概念之间是有前后依 阅读全文
posted @ 2021-06-02 19:19 技术改变命运Andy 阅读(268) 评论(0) 推荐(0) 编辑
摘要: # 数组 java语言叫数组,python里面就是列表, 数组是一个线性表数据结构,就是只有前后两个关系,比如队列,栈,列表,链表, 比如树状结构,就不是只有前后两个关系,还有兄弟关系,这就是非线性表, # 数组的特点 - 插入,如果你是中间插入这个后面元素都要往后移动,所以效率比较低,所以直接往最 阅读全文
posted @ 2021-05-24 18:21 技术改变命运Andy 阅读(11) 评论(0) 推荐(0) 编辑
摘要: ### 设置cookie 获取cookie: self.driver.get_cookies() 是一个列表,列表里面是字典,储存着单条COOKie信息 删除所有的cookie信息: driver.delete_all_cookies() 循环把所有的cookie添加进入: for cookie i 阅读全文
posted @ 2021-05-17 18:24 技术改变命运Andy 阅读(409) 评论(0) 推荐(0) 编辑
摘要: ##### 安装python 这一步安装python就不说了,很基础,不在讲解 ##### 配置python虚拟环境 mac下配置python虚拟环境 安装python虚拟环境核心目的就是为了复制一个python环境,这样新项目下载的所有包,都会存放在虚拟环境下的python site-packag 阅读全文
posted @ 2021-05-14 15:55 技术改变命运Andy 阅读(79) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页