还分不清 Cookie、Session、Token、JWT?
背景早期互联网只是用来访问查看,不需要关心谁在访问查看。HTTP 是一种无状态的协议,每个请求都是完全独立的,服务端无法确认当前访问者的身份信息,为了标示用户,就出现了 Cookie,而 Cookie、Token、JWT 都是用来标示用户的。
什么是认证(Authentication)
通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功)
互联网中的认证:
用户名密码登录
邮箱发送登录链接
手机号接收验证码
只要你能收到邮箱/验证码,就默认你是账号的主人
什么是授权(Authorization)
用户授予第三方应用访问该用户某些资源的权限
你在安装手机应用的时候,APP 会询问是否允许授予权限(访问相册、地理位置等权限)
你在访问微信小程序时,当登录时,小程序会询问是否允许授予权限(获取昵称、头像、地区、性别等个人信息)
实现授权的方式有:cookie、session、token、OAuth
什么是凭证(Credentials)
实现认证和授权的前提是需要一种媒介(证书) 来标 ...
抢学术章的的辛酸泪
前言
2021-10-10更新,增加对人工认证的处理,重构代码
由于问卷星更新了,里面加了阿里云智能验证的接口,所以之前的方法使用 selnium 不行了。
前端通过简单的判断就可以知道是不是 webdriver,解决的办法可以使用中间代理过滤掉 webdrvier 中的指纹信息,太过繁琐且不太好移植
😄 因此使用puppeteer的V2.0来了!
项目地址: https://github.com/DongZhouGu/wjx-academic
使用说明新建python工程建议使用 IDE Pycharm , 工程目录如下
安装环境Requirements
Python 3.5+
time
pyyaml
pypuppter(https://github.com/miyakogi/pyppeteer)
1python3 -m pip install pyppeteer -i https://pypi.tuna.tsinghua.edu.cn/simple
也可以直接在 Pycharm 中安装此包
安装包完成后,接着,修改下图所示的
的 pyppeteer/_init_.py ...
图解HTTP总结
参考资料上野宣. 图解 HTTP[M]. 人民邮电出版社, 2014.
一 、基础概念请求和响应报文客户端发送一个请求报文给服务器,服务器根据请求报文中的信息进行处理,并将处理结果放入响应报文中返回给客户端。
请求报文结构:
第一行是包含了请求方法、URL、协议版本;
接下来的多行都是请求首部 Header,每个首部都有一个首部名称,以及对应的值。
一个空行用来分隔首部和内容主体 Body
最后是请求的内容主体
12345678910111213GET http://www.example.com/ HTTP/1.1Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en;q=0.8Cache-Control: max-age=0Host: www. ...