首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
X86
» python–爬虫–模拟登录全面介绍和简例–以抓取雅卓app为例(1)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
python–爬虫–模拟登录全面介绍和简例–以抓取雅卓app为例(1)
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2019-5-16 14:48
|
只看该作者
python–爬虫–模拟登录全面介绍和简例–以抓取雅卓app为例(1)
模拟登录实现原理
浏览器访问服务器的过程
爬虫的本质是模拟浏览器访问服务器,所以我们首先要了解浏览器和服务器的交互以及登录实现的过程。
在用户访问网页时,不论是通过URL输入域名或IP,还是点击链接,浏览器向WEB服务器发出了一个HTTP请求(Http Request)
WEB服务器接收到客户端浏览器的请求之后,响应客户端的请求,发回相应的响应信息(Http Response)
浏览器解析引擎,排版引擎分析返回的内容,呈现给用户。
WEB应用程序在于服务器交互的过程中,HTTP请求和响应时发送的都是一个消息结构。
Http消息
当浏览器向服务器发送请求的时候,其实就是发送http请求消息报文。
服务器返回数据时,发送http响应消息报文。
这两种类型的消息都是由一个起始行,消息头,一个指示消息头结束的空行和可选的消息体组成。
http请求消息中
起始行包括 请求方法,请求的资源, HTTP协议的版本号
消息头包含各种属性
消息体包含数据
GET请求并没有消息主体,因此在消息头后的空白行中没有其他数据。
Http响应消息中,起始行包括HTTP协议版本,http状态码和状态,消息头包含各种属性,消息体包含服务器返回的数据内容。
如下图从fiddler抓取的http请求和http响应,GET请求内容为空,故消息头之后的空行和消息体都为空。
服务器发送的响应消息如下,浏览器正常接收到服务器发回的http报文
浏览器通过http来跟服务器进行交互,那么我们只要模拟浏览器 的http消息,造成一模一样的请求,就可以实现跟登录后一样的身份进行访问。
那么一般来说,服务端是根据什么来进行用户身份的识别呢,答案是cookie。
为了实现这种用户标记,服务器就采用了cookie这种机制来识别具体是哪一个用户的访问。
cookie在http请求和http响应的头信息中,cookie是消息头的一种很重要的属性。
了解cookie
为了实现用户标记,在Http无状态请求的基础之上,我们需要在请求中携带一些用户信息,这就是cookie机制。
我们的登录操作,其实就是给用户名和密码给服务端验证,如果身份符合,服务端就会返回cookie的信息给浏览器,浏览器把cookie存在本地后以后每次访问都带着cookie去进行访问,这样就实现了 有用户身份的访问。
可以在浏览器中看到浏览器缓存的cookie
请求时cookie如下:
几乎现在所有的网站都会发送一些 cookie信息过来,当用户请求中携带了cookie信息,服务器就可以知道是哪个用户的访问了,从而不需要再使用账户和密码登录。
但是,刚才也提到了,cookie信息是直接放在Http协议的header中进行传输的,看得出来,这是个隐患!一旦别人获取到你的cookie信息(截获请求,或者使用你的电脑),那么他很容易从cookie中分析出你的用户名和密码。为了解决这个隐患,所以有了session机制。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议