HTTP HTTPS RSA
推荐阅读 小林coding HTTP篇
文章目录
- HTTP 80
- HTTP 响应码
- 1xx:信息性状态码(Informational)
- 2xx:成功状态码(Success)
- 3xx:重定向状态码(Redirection)
- 4xx:客户端错误(Client Error)
- 5xx:服务器错误(Server Error)
- 常见字段
- GET POST
- HTTP/1 /2 /3
- HTTPS 443
- 加密方式
- 混合加密
- 摘要算法 -> 数字签名
- 数字证书
- TLS 1.2 握手
- RSA 算法加密
- 过程:
- 原理:
- 为什么安全:
HTTP 80
超文本传输协议 HyperText Transfer Protocol
HTTP 响应码
1xx:信息性状态码(Informational)
表示请求已被接收,继续处理。
-
100 Continue:客户端应继续其请求。
-
101 Switching Protocols:服务器同意切换协议。
2xx:成功状态码(Success)
表示请求已成功被接收、理解并处理。
- 200 OK:请求成功。
- 201 Created:资源已成功创建,常用于 POST 请求。
- 204 No Content:请求成功,但无返回内容。
3xx:重定向状态码(Redirection)
客户端需要进一步操作才能完成请求。
- 301 Moved Permanently:永久重定向。
- 302 Found(或 Temporary Redirect):临时重定向。
- 304 Not Modified:资源未修改,可使用缓存。
4xx:客户端错误(Client Error)
请求包含错误,客户端需修改。
- 400 Bad Request:请求无效,服务器无法理解。
- 401 Unauthorized:未授权,需要认证。
- 403 Forbidden:禁止访问,即使认证也无权。
- 404 Not Found:资源不存在。
- 405 Method Not Allowed:请求方法不被允许。
5xx:服务器错误(Server Error)
服务器在处理请求时出错。
- 500 Internal Server Error:服务器内部错误。
- 502 Bad Gateway:网关或代理收到无效响应。
- 503 Service Unavailable:服务器暂时不可用(如超载或维护)。
- 504 Gateway Timeout:网关超时未收到上游服务器响应。
常见字段
-
Host: www.xxx.com 请求中指定对方域名
-
Content-Length: 1000 回应数据长度
-
Connection: Keep-Alive 长连接
-
Content-Type: text/heml; charset=utf-8 数据格式
(请求方可以指定格式: Accept: /) -
Content-Encoding: gzip 编码,即压缩方法
(Accept-Encoding: gzip, deflate)
GET POST
-
GET 的语义是从服务器获取指定的资源
安全且幂等,因为是只读,服务器数据是安全的,每次请求结果是相同的。 -
POST 的语义是根据请求负荷(报文body)对指定的资源做出处理
不幂等,会修改资源。
HTTP/1 /2 /3
HTTPS 443
HTTP 是明文传输,不安全。
HTTPS 在 HTTP层与TCP层之间添加了TLS协议(传输层安全性协议 Transport Layer Security)
TCP三次握手后还要进行 TLS 握手
安全套接层(Secure Sockets Layer,缩写作 SSL)
加密方式
以下几个结合,分别确保 消息加密,消息不被篡改,中间人无法伪造
混合加密
-
在通信建立前采用非对称加密的方式交换「会话秘钥」
RSA 算法 (非对称加密算法) -
在通信过程中全部使用对称加密的「会话秘钥」
摘要算法 -> 数字签名
用摘要算法(哈希函数)来计算出内容的哈希值
对方也对内容计算,比较两个哈希值。
通过「私钥加密,公钥解密」的方式,保证消息不会被冒充
(但是公钥仍可能是中间人冒充的 —— 中间人攻击 !)
数字证书
Certificate Authority 证书授权
浏览器内置证书!里面有公钥
客户端验证流程:
证书信任链的问题:
如百度证书,可能证书是中间证书签发的
不是根证书,就无法根据本地已有的根证书中的公钥去验证 证书是否可信,于是向 CA 请求该中间证书,直到根证书。
电脑系统内置的根证书:
TLS 1.2 握手
基于 RSA 算法的 TLS 握手过程(TLS 1.2 with RSA key exchange):
- ClientHello
客户端发起加密通信请求 【支持的TLS协议版本;加密用随机数;支持的加密算法】 - SeverHello
服务器回应客户端 【确认TLS版本;加密用随机数;确认使用的加密算法;服务器证书】 - 客户端回应
客户端先通过浏览器或操作系统内置的 CA 公钥,确认服务器的数字证书的真实性。
如果证书没有问题,客户端会从数字证书中取出服务器的公钥,然后使用它加密报文。
接着发送【 预主密钥 ;加密通信算法改变通知;客户端握手结束通知】,同时自己用前面两个随机数+预主密钥生成了本次通信用的公钥——会话密钥。 - 服务器的最后回应
服务器也通过同样的方式计算出会话密钥
也向客户端发送最后的信息:【加密通信算法改变通知;服务器握手结束通知】
之后通过 会话密钥 加密 HTTP 通信即可。
RSA 握手“不那么安全”
一旦服务器私钥泄露,历史通信就可以被解密(前向保密性差)
现在主流推荐使用的是 TLS 1.3 ECDHE(椭圆曲线 Diffie-Hellman Ephemeral),支持前向保密。
RSA 算法加密
需要先了解一些数论:
- 欧拉函数 φ ( n ) φ(n) φ(n) 表示小于等于 n 且与 n互质的正整数的个数。对质数而言就是 n-1
- 欧拉定理:对于任意两个互质的正整数 a, n , 有 a φ ( n ) ≡ 1 ( m o d n ) a^{φ(n)} ≡1\pmod n aφ(n)≡1(modn)
(≡ 是模意义下同余) - 费马小定理: 如果 p 是一个质数,a是一个整数且 a 与 p 互质,那么 a p − 1 ≡ 1 ( m o d p ) a^{p − 1} ≡ 1 \pmod p ap−1≡1(modp)
过程:
-
选择两个大质数 p , q p, q p,q
模数 n = p ∗ q n = p*q n=p∗q 作为我们的模数 -
n 的欧拉函数 φ ( n ) = ( p − 1 ) ( q − 1 ) φ (n) = (p-1)(q-1) φ(n)=(p−1)(q−1)
-
加密指数 e e e ,取数 e 与 φ (n) 互质
e 模逆元设为 d d d ,即 e d ≡ 1 ( m o d φ ( n ) ) ed ≡ 1 \pmod {φ(n)} ed≡1(modφ(n)) (逆元其实就是倒数,取模意义下的)
可得 ed 其实就是 k ∗ φ ( n ) + 1 k*φ(n) + 1 k∗φ(n)+1
-
加密明文 m :
密文 c = m e m o d n c = m^e \mod n c=memodn
可以看到就是对原数据求幂 -
解密:
m = c d m o d n m = c^d \mod n m=cdmodn
原理:
整个过程就是先求明文 m 的 e 次幂,然后求 m^e 的 d 次幂
( m e ) d ( m o d n ) ({m^{e}})^{d} \pmod n (me)d(modn)
即
m e d ( m o d n ) {m^{ed}} \pmod n med(modn)
而由上可知 ed = k*φ(n) + 1 ,以及 欧拉定理中 m^φ(n) 取模n后为 1
所以上述表达式最终取模后为 m 本身 ✅
为什么安全:
模数 n 是公开的, e 是加密指数可作为公钥。
但是推出解密指数,需要得出 φ (n) ,这需要选择出正确的质数 p, q 。
“大整数分解难题” 将一个大整数 n 分解成两个质数 p 和 q 是非常困难的
当 n 是一个 2048 位的大整数时,它的两个因数 p 和 q 也是大质数(每个约 1024 位),在现有技术和算法下,分解这样的大整数需要数十亿年
相关文章:
HTTP HTTPS RSA
推荐阅读 小林coding HTTP篇 文章目录 HTTP 80HTTP 响应码1xx:信息性状态码(Informational)2xx:成功状态码(Success)3xx:重定向状态码(Redirection)4xx:客户端…...
【机器学习】如何正确下载sklearn包
TOC 直接pip install sklearn时,报错 sklearn的包,实际上叫scikit-learn pip install scikit-learn发现成功了: 总结 下载sklearn包的语句:pip install scikit-learn 完成。...
【Python进阶】断言(assert)的十大核心应用场景解析
目录 前言:技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块技术选型对比 二、实战演示环境配置要求核心代码实现(10个案例)案例1:参数合法性检查案例2:不变…...
关于汽车辅助驾驶不同等级、技术对比、传感器差异及未来发展方向的详细分析
以下是关于汽车辅助驾驶不同等级、技术对比、传感器差异及未来发展方向的详细分析: 一、汽车辅助驾驶等级详解 根据SAE(国际自动机工程师学会)的标准,自动驾驶分为 L0到L5 六个等级: 1. L0(无自动化&…...
STM32 HAL库之WDG示例代码
独立看门狗(IWDG) 初始化独立看门狗,在main.c中的 MX_IWDG_Init();,也就是iwdg.c中的初始化代码 void MX_IWDG_Init(void) {/* USER CODE BEGIN IWDG_Init 0 *//* USER CODE END IWDG_Init 0 *//* USER CODE BEGIN IWDG_Init 1 …...
【差分隐私相关概念】瑞丽差分隐私(RDP)命题10
命题10证明中的最后一个不等号成立,关键在于将事件 A A A上的积分与Rnyi散度 D α ( P ∥ Q ) D_\alpha(P \parallel Q) Dα(P∥Q)的定义联系起来,并通过积分放缩得到上界。具体推导如下: Rnyi散度的定义: D α ( P ∥ Q ) 1 …...
Android 开发 如何生成系统签名
在源码中拿到安全文件 文件路径 lagvm/LINUX/android/build/target/product/security如下两个文件 platform.pk8 platform.x509.pem 使用Android studio生成一个jks Android studio 顶部 buildGenerate Signed Bundle or APKapkcrate new记住 记住alias 和password linux下…...
(EtherCAT 转 EtherNet/IP)EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
型号 协议转换通信网关 EtherCAT 转 EtherNet/IP MS-GW12 概述 MS-GW12 是 EtherCAT 和 EtherNet/IP 协议转换网关,为用户提供两种不同通讯协议的 PLC 进行数据交互的解决方案,可以轻松容易将 EtherNet/IP 网络接入 EtherCAT 网络中,方便…...
适合stm32 前端adc使用的放大器芯片
在 STM32 前端 ADC 应用中,合适的放大器芯片需具备低噪声、高精度、低失调电压等特性。以下为你推荐几款常用的放大器芯片: 低功耗、高精度型 OPA2333 特点:这是一款微功耗、零漂移运算放大器,失调电压极低,仅为 2.5…...
《Ethical Implications of ChatGPT in Higher Education: A Scoping Review》全文翻译
《Ethical Implications of ChatGPT in Higher Education: A Scoping Review》 ChatGPT在高等教育中的伦理影响:一项范围界定性综述 摘要 本范围界定性综述探讨了在高等教育中使用ChatGPT所引发的伦理挑战。通过回顾近期发表的英文、中文和日文的学术文章&#x…...
day26 学习笔记
文章目录 前言一、边缘填充1.边界复制2.边界反射3.边界常数4.边界包裹5.代码示例 二、透视变换三、颜色加法 前言 通过今天的学习,我掌握了OpenCV中有关边缘填充,透视变换以及颜色加法的相关概念和操作 一、边缘填充 当我们对图像进行仿射变换后往往会发…...
LVGL Animation Image(Animimg)控件详解
一、Animation Image(Animimg)控件详解 1. 概述 功能:Animimg 是 LVGL 中用于显示动画图像的控件。特点:支持从多个静态图像创建动画效果。 2. 创建和初始化 创建方法:lv_obj_t * lv_animimg_create(lv_obj_t * pa…...
【unity游戏开发入门到精通——UGUI】GraphicRaycaster图形射线投射器组件
注意:考虑到UGUI的内容比较多,我将UGUI的内容分开,并全部整合放在【unity游戏开发——UGUI】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 文章目录 前言Graphic Raycaster参数1、Ignore Reversed Graphics:是否忽略反…...
WPF GDI 画 晶圆Mapping图
效果图 UI代码 <Window x:Class="WpfWaferMapping.Window3"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expre…...
AI核心概念之“提示(Prompt)” - 来自DeepSeek
1. 表层理解:Prompt 是用户输入的文本指令 直观表现: 对于普通用户,Prompt 是输入到对话框的文本(例如 ChatGPT 中的问题:“写一首关于秋天的诗”),点击发送后,模型返回结果。 常见…...
Golang|Kafka在秒杀场景中的应用
我们的程序在面对 kill -9 这样的指令的时候会直接退出,不能保证数据持久化到mysql完后再退出而且我们现在的并发量仍然不够,只能加机器,多机器并发写mysql可能导致mysql扛不住,mysql写的并发量不能根据我们机器的数量的增长而增长…...
【前端基础】--- HTML
个人主页 : 9ilk 专栏 : 前端基础 文章目录 🏠 初识HTML🏠 HTML结构认识HTML标签HTML文件基本结构标签层次结构快速生成代码框架 🏠 HTML常见标签注释标签标题标签 h1-h6段落标签 p换行标签 br格式化标签图片标签 img超链接标签…...
各证券公司QMT的本地VSCode开发环境配置指南
各证券公司QMT变种的本地开发环境配置指南 各大证券公司的量化交易平台(如兴业证券的SMT-Q)基本都是基于QMT开发的变种系统,它们的底层架构相似,但在接口和功能上可能有所差异。下面介绍如何使用本地Python、Anaconda和VSCode搭建…...
注意力机制的改进
Transformer架构中的注意力机制优化是提升模型效率和扩展处理长序列能力的关键。以下从多个维度详细解析注意力机制的优化方法: arXIv论文链接 1. 稀疏注意力(Sparse Attention) 通过限制每个位置仅关注特定区域,减少计算量&am…...
Golang|select
文章目录 多路监听超时控制 多路监听 如果selcet外面没有for循环,则只会监听一次,要实现一直监听的话要加for循环但是如果要设置退出条件的话,break语句只会退出这个select而不会退出for循环 select也可以有default,用于不用等cha…...
网络安全与信息安全的区别及共通
在数字化时代,网络安全与信息安全已成为保障个人、企业乃至国家正常运转的重要防线。尽管二者紧密相关且常被混为一谈,但实则存在显著差异。当然,它们也有一些相同点,比如都以保障数字环境下的安全为核心目标,均需要通…...
【刷题2025】知识点梳理
1.常用操作 二进制异或 ans = a ^ b 向上取整 math.ceil(a/b) 向下取整 math.floor(a/b) 每次取最低字节:一个字节八位 while a > 0:aSum += a & 0xff # 累加最低字节的大小a >>= 8 # 一个字节八位, a右移八位, 将最低字节移除 正则匹配 # 编译正则表达式…...
# 从零开发小红书风格Flutter应用:图片上传功能实现踩坑记录
从零开发小红书风格Flutter应用:图片上传功能实现踩坑记录 作为第一次开发完整Flutter应用的经历,我在实现类似小红书的图片上传功能时遇到了不少挑战。本文将完整记录整个开发过程,包括技术选型、实现细节和遇到的问题。 技术栈选择 前端…...
Android studio配置Flutter遇到的问题总结
1、Android studio 安装cmdline-tools后 ,cmd里运行flutter doctor,依旧报错 如何处理: 先执行: flutter config --android-sdk "E:\sdk\Sdk(SDK路径)" 再执行:flutter doctor --android-licen…...
__progname宏的用途(摘自DeepSeek)
__progname 宏解析 __progname 是一个在许多 Unix-like 系统中用于获取当前程序名称的宏或全局变量,主要用于错误报告、日志记录等场景。 基本定义 __progname 通常定义在标准库或系统头文件中 使用方法 基本用法 #include <stdio.h> #include <stdl…...
AI agents系列之智能体框架介绍
1. 引言 智能体AI Agents框架通过赋予自主系统动态感知、推理和行动的能力,彻底改变了AI领域。本节将探讨智能体框架的核心概念,并重点介绍为什么开源解决方案对现代AI开发的创新和可扩展性至关重要。 1.1 什么是智能体框架? 智能体框架代…...
(2025-04-12)向老主机箱中安装新买的显卡及固态硬盘
目录 1 引言2 显卡及其驱动的安装3 固态硬盘的安装及C盘扩容3.1 固态硬盘正确连接到主板上后,操作系统上面仍然不显示对应盘符怎么办?3.2 如何对C盘扩容?3.3 新问题:原有D盘程序不能运行 4 总结 1 引言 今天安装昨天买的新固态硬…...
从 Spring Boot 到 Django —— 后端开发技术类比学习
从 Spring Boot 到 Django —— 后端开发技术类比学习 引言(从javaweb到pythonweb) Django,一个成熟而简洁的 Web 框架时,我们在学习这个框架的过程中不仅可以体验 Python 的便捷生态,更能发现 Django 与 Spring Boo…...
外接键盘与笔记本命令键键位不同解决方案(MacOS)
文章目录 修改键位第一步:打开设置第二步:进入键盘快捷键第三步:修改修饰键设置第四步:调整键位第五步:保存设置tips ikbc c87键盘win键盘没反应的解决亲测的方法这是百度的答案标题常规组合键尝试:型号差…...
测试基础笔记第四天(html)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 html介绍1. 介绍2.骨架标签3.常用标签标题标签段落标签超链接标签图片标签换行和空格标签布局标签input标签(变形金刚)form标签列表标签 htm…...
爱普生SG2520VGN差分晶振5G基站的时钟解决方案
在 5G 通信时代,数据流量呈爆发式增长,5G 基站作为信号的核心中转枢纽,承载着前所未有的数据传输与处理重任。从海量的物联网设备连接,到高速移动用户的数据交互,每一个环节都对基站的性能提出了严苛要求。而精准稳定的…...
广汽滴滴Robotaxi首次亮相,中国自动驾驶加速领跑新赛道
作者 |张马也 编辑 |德新 4月12日,在广汽科技日上,广汽与滴滴合作的前装量产Robotaxi首次正式亮相。 这款车基于广汽埃安的纯电平台打造,搭载了滴滴自动驾驶的全套软硬件方案。滴滴自动驾驶全新一代的硬件平台, 包含激光雷达、…...
从拥堵到畅行,智慧城市如何实现交通魔法?
实时交通监控与数据分析 在智慧城市的建设中,实时交通监控是基础。它依赖于广泛部署的传感器网络,如摄像头、雷达、地磁感应器等,用于收集道路交通信息。这些设备将数据传输至中央管理系统,利用大数据处理技术进行分析࿰…...
边缘计算场景下的模型轻量化:TensorRT部署YOLOv7的端到端优化指南
一、边缘计算场景下的技术挑战与优化路径 在边缘设备(如Jetson系列)部署YOLOv7需兼顾模型精度、推理速度与功耗限制三重约束。TensorRT作为NVIDIA官方推理加速库,通过算子融合、量化压缩和内存复用等优化技术,可将模型推理速度提…...
flutter json解析增强
依赖:xxf_json 反序列化兼容特征一览表 类型\是否兼容 int double num string bool int yes yes yes yes yes double yes yes yes yes yes num yes yes yes yes yes string yes yes yes yes yes bool yes yes yes yes yes 专业词语 .g…...
职坐标解码互联网行业转型发展新动能
当前,互联网行业正以前所未有的速度重塑全球产业格局。工信部最新数据显示,我国互联网企业营收连续三年保持双位数增长,其中百强企业在人工智能、物联网等领域的投入强度同比提升40%,展现出强劲的技术引领力。与此同时,…...
【软考-架构】13.4、质量属性-架构评估
✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 质量属性软件架构评估✨质量属性质量属性场景敏感点&权衡点三种常用的评估方式基于场景的架构分析方式SAAM✨架构权衡分析法ATAM成本效益收益法CBAM 考试真题其他评估…...
Gitlab SSH Jenkins Pipeline Supervisor部署
Gitlab SSH Jenkins Pipeline方式部署 准备搞一搞简单部署SpringBoot项目的一种方式,通过Gitlabssh Jenkins Pipeline的方式,简单学习下。 环境准备 本地域名ip地址安装软件作用server01192.168.110.110Gitlab代码托管server02192.168.110.111Jenkins…...
Python Pandas实现导出两个Excel数据集的分组记录数分析
编写Python Pandas代码实现从一个Excel文件中的一个Sheet中的表格里取两个维度字段,根据这两个维度字段的数据分组统计,计算记录数的分组总计值,得到一个包含两个维度字段和记录数字段的分组总计值字段的dataframe,再从另一个Exce…...
维港首秀!沃飞长空AE200亮相香港特别行政区
4月13日-16日,第三届香港国际创科展在香港会议展览中心盛大举办。 作为国内领先、国际一流的eVTOL主机厂,沃飞长空携旗下AE200批产构型登陆国际舞台,以前瞻性的创新技术与商业化应用潜力,吸引了来自全球17个国家及地区的行业领袖…...
PyTorch 根据官网命令行无法安装 GPU 版本 解决办法
最近遇到一个问题,PyTorch 官网给出了 GPU 版本的安装命令,但安装成功后查看版本,仍然是 torch 2.6.0cpu 1. 清理现有 PyTorch 安装 经过探索发现,需要同时卸载 conda 和 pip 安装的 torch。 conda remove pytorch torchvision …...
【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——USB测试 #USB HOST #USB 鼠标
1)实验平台:正点原子ATK-DLMP257B开发板 2)浏览产品:https://www.alientek.com/Product_Details/135.html 3)全套实验源码手册视频下载:正点原子资料下载中心 文章目录 第四章 ATK-DLMP257B功能测试——USB…...
Java基础-超全总结
1.Java中的基本数据类型 Java中有四类八种基本的数据类型,四类数据类型包括整型、浮点型、字符型、布尔型。 整型包括:byte、short、int和long浮点型包括:float和double字符型是char布尔型是boolean。 2.Java中的包装类型和基本类型的区别…...
区块链技术在数据隐私保护中的应用:从去中心化到零知识证明
区块链技术在数据隐私保护中的应用:从去中心化到零知识证明 在数字化时代,数据隐私已成为全球关注的焦点。无论是个人身份信息、医疗数据还是企业的敏感业务数据,都面临着泄露、篡改和滥用的风险。传统的安全方案依赖中心化服务器进行加密和…...
【大模型实战篇】--阿里云百炼搭建MCP Agent
MCP协议(Model Communication Protocol,模型通信协议)是大语言模型(LLM)与外部系统或其他模型交互时的一种标准化通信框架,旨在提升交互效率、安全性和可扩展性。 目录 1.阿里云百炼--MCP 1.1.MCP 服务接…...
Android ExifInterface rotationDegrees图旋转角度,Kotlin
Android ExifInterface rotationDegrees图旋转角度,Kotlin import android.media.ThumbnailUtils import android.os.Bundle import android.util.Log import android.util.Size import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity …...
linux 内核 ida机制分析
在描述ida之前,需要读者对linux 内核的radix-tree有一定的了解。关于radix-tree(基数树)的描述,作者在之前有专门的文章对其进行描述,这里不再赘述。 IDA是什么?内核文档中解释如下: /*** IDA description** The IDA is an ID allocator which does not provide the ab…...
linux-定时任务清理buffer、cache
在清理 buffer 和 cache 之前,调用 sync 命令是一个好习惯。sync 会将文件系统缓冲区中的数据强制写入磁盘,确保数据的一致性,避免数据丢失的风险。以下是改进后的脚本,增加了多个 sync 语句: 1、脚本内容:…...
Linux常用命令整理
Linux 系统提供了大量常用命令行工具,涵盖文件操作、权限管理、网络诊断、软件安装、系统监控、脚本编程等各个方面。下面按照不同功能类别,整理常用的 Linux 命令及其中文说明和使用示例。 文件与目录操作 ● ls:列出目录内容,用于显示指定目录下的文件和子目录。常用参数…...
Python爬虫第14节-如何爬取Ajax的数据
目录 前言 一、什么是Ajax 1.1 具体举例 1.2 基本原理 二、Ajax的分析 2.1 查看请求 2.2 过滤请求 三、解析提取Ajax 结果 3.1 分析请求 3.2 分析响应 四、Ajax抓取实战 前言 咱们在使用requests抓取网页的时候,常常会发现,得到的结果和在浏览…...