当前位置: 首页 > article >正文

【愚公系列】《Python网络爬虫从入门到精通》045-Charles的SSL证书的安装

标题详情
作者简介愚公搬代码
头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
近期荣誉2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。
博客内容.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
欢迎👍点赞、✍评论、⭐收藏

文章目录

  • 🚀前言
  • 🚀一、Charles的SSL证书的安装
    • 🔎1.安装PC端证书
    • 🔎2.设置代理
    • 🔎3.配置网络
    • 🔎4.安装手机端证书
  • 🚀二、使用Python Selenium编写自动化UI测试脚本
    • 🔎1.安装Selenium库
    • 🔎2.自动化UI测试脚本编写
  • 🚀三、运行自动化UI测试脚本
    • 🔎1.首次执行与错误解决
    • 🔎2.再次执行
      • 🦋2.1 数据绑定案例
        • ☀️2.1.1
          • 🌈2.1.1.1
            • 🍬2.1.1.1.1
  • 🚀四、结论


🚀前言

在进行网络调试和API测试时,HTTPS协议的普及为数据传输提供了更高的安全性,但同时也给网络抓包带来了挑战。为了能够有效地监控和分析加密的HTTPS流量,Charles工具提供了SSL证书的安装功能,使我们能够轻松地解密和查看加密数据的内容。这对于开发者和测试人员来说,尤其是在调试移动应用和Web服务时,显得尤为重要。

在本篇文章中,我们将详细讲解如何安装和配置Charles的SSL证书。我们会一步步指导你完成证书的生成、安装和信任设置,确保你能够顺利地捕获和分析HTTPS请求与响应。同时,我们还将分享一些常见问题的解决方案,帮助你在使用过程中避免可能遇到的困扰。

🚀一、Charles的SSL证书的安装

🔎1.安装PC端证书

Charles工具安装完成后,在菜单中或底部搜索位置找到Charles启动图标,启动Charles工具。Charles启动后将默认获取当前PC端中的所有网络请求,例如,自动获取PC端浏览器中访问的百度页面,不过在查看请求内容时,将显示如图所示的乱码信息。
在这里插入图片描述
Charles在默认的情况下可以获取PC端中的网络请求。

日前的网页多数都是使用HTTPS与服务端进行数据交互,而通过HTTPS传输的数据都是加密的,所以此时通过Chares所获取到的信息会是乱码,此时需要安装PC端SSL证书。安装PC端SSL证书的具体步骤如下:

(1)打开Charles工具,依次选择Help→SSL Proxying→Install Charles Root Certificate选项打开安装SSL证书界面,如图所示。
在这里插入图片描述
(2)在已经打开的安装SSL证书界面中单击“安装证书”按钮,如图所示。然后在证书导入向导窗口中直接单击“下一步”按钮,如图所示。
在这里插入图片描述
在这里插入图片描述
(3)打开证书向导的“证书存储”界面,在该界面中首先选中“将所有的证书都放入下列存储”单选按钮,然后单击“浏览”按钮,选择证书的存储位置为“受信任的根证书颁发机构”,再单击“确定”按钮,最后单击“下一步”按钮即可,如图所示。
在这里插入图片描述
(4)在证书导入向导的“正在完成证书导入向导”界面中,直接单击“完成”按钮,如图所示。
在这里插入图片描述

(5)在弹出的安全警告框中单击“是”按钮,如图所示,即可完成SSL证书的安装。
在这里插入图片描述
(6)在“导入成功”的提示对话框中单击“确定”按钮,如图所示,然后在安装证书的窗口中单击“确定”按钮,如图所示。
在这里插入图片描述
在这里插入图片描述

🔎2.设置代理

PC端的SSL证书安装完成后,在获取请求详情内容时依然显示乱码。此时还需要设置SSL代理,设置SSL代理的具体步骤如下。

在Charles工具中,依次选择Proxy→SSL Proxying Settings命令,如图所示。
在这里插入图片描述

在SSL Proxying选项卡中选中Enable SSL Proxying复选框,然后单击左侧Include下面对应的Add按钮,在Edit Location窗口中设置指定代理,如果没有代理的情况下,则可以将其设置为*(表示所有的SSL)即可,如图所示。

SSL代理设置完成后,重新启动Charles,再次打开浏览器中的百度网页,单击左侧目录中的“/”将显示如图所示的请求内容。
在这里插入图片描述
在这里插入图片描述

🔎3.配置网络

如果需要通过Charles抓取手机中的请求地址时,需要保证PC端与手机端在同一网络环境下,然后为手机端进行网络配置。配置网络的具体步骤如下。

(1)确定PC(电脑端)与手机端在同一网络下,然后在Charles工具的窗体中依次选择Help→SSlProxying→Install Charles Root Certificate on a Mobile Device or Remote Browser选项,如图所示。
在这里插入图片描述

(2)在打开的移动设备安装证书的信息提示框中,需要记录ip地址与端口号,如图所示。
在这里插入图片描述

(3)将提示框中的ip地址与端口号记住后,将手机(这里以IOS手机为例)WiFi连接与PC(电脑端)同一网络的WiFi,然后在手机WiFi列表中长按已经连接的WiFi,在弹出的菜单中选择“修改网络”,如图所示。
在这里插入图片描述
(4)在修改网络的界面中,首先选中“显示高级选项”,然后在“服务器主机名”与“服务器端口”所对应的位置,填写Charles在移动设备安装证书的信息提示框中所给出的IP与端口号,单击“保存”按钮,如图所示。
在这里插入图片描述
(5)在手机端将服务器主机与端口号设置完成后,的确认对话框,在该对话框中直接单击Allow按钮即可,如图所示。PC端(电脑端)Charles将自动弹出是否信任此设备。
在这里插入图片描述

如果PC端的Charles没有如图所示的提示框,可以在PC端命令行窗口内通过ipconfig获取当前PC端的无线局域适配器所对应的IPv4地址,并将该地址设置在步骤(4)手机连接WiFi的服务器主机名中。

🔎4.安装手机端证书

PC端与手机端的网络配置完成后,需要将Charles证书保存在PC端,然后安装在手机端,这样Charles才可以正常地抓取手机App中的网络请求。安装手机端证书的具体步骤如下。

(1)在Charles工具中依次选择Help→SSL Proxying→Save Charles Root Certificate…命令,如图所示。
在这里插入图片描述

(2)在Charles SsL证书文件保存在PC端的窗口中,将证书文件保存在PC端的指定路径下,如图所示。

🚀二、使用Python Selenium编写自动化UI测试脚本

🔎1.安装Selenium库

🔎2.自动化UI测试脚本编写

🚀三、运行自动化UI测试脚本

🔎1.首次执行与错误解决

🔎2.再次执行

🦋2.1 数据绑定案例

☀️2.1.1
🌈2.1.1.1
🍬2.1.1.1.1

🚀四、结论

相关文章:

【愚公系列】《Python网络爬虫从入门到精通》045-Charles的SSL证书的安装

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…...

同为科技智能PDU在数据中心场景的应用与解决方案

数据中心当前处于一个快速发展和技术变革的特殊时期,全新的人工智能应用正在重塑整个世界,为社会带来便捷的同时,也为数据中心的发展带来了新的机遇和挑战。智能算例的爆发式增长,对数据中心提出了大算力、高性能的新需求&#xf…...

uniapp开通开屏广告后动态开启或关闭开屏广告

近期使用uniapp开发的APP有uniad的广告对接,并且要求会员用户不显示包含开屏广告在内的广告,除开屏广告外的广告都可以通过uniapp广告组件控制是否显示 因uniad的开屏广告无需代码开发,经过uniad客服指点可在App.vue中的onLaunch生命周期中执…...

go map的声明和使用

1.简介 map是key-value数据结构,右丞为字段或者关联数据。类似其他语言的集合,map在go中是引用类型,必须初始化才能使用。 2.语法 map[keytype]valuetype keytype:表示间的类型。可以是基本数据类型,还可以是指针、channl等。…...

《V8 引擎狂飙,Node.js 续写 JavaScript 传奇》

”你没想过也许是这个镇子对你来说太小了吗? 对我而言,这个小镇容不下我的雄心壮志。 “ 什么是 Node.js? Node.js是一个跨平台JS运行环境,使开发者可以搭建服务器端的JS应用程序 作用:使用 Node.js 编写服务器端程序…...

【Java代码审计 | 第八篇】文件操作漏洞成因及防范

未经许可,不得转载。 文章目录 文件操作漏洞文件读取漏洞基于 InputStream 的读取基于 FileReader 的读取 文件下载漏洞文件删除漏洞防范 文件操作漏洞 分为文件读取漏洞、文件下载漏洞与文件删除漏洞。 文件读取漏洞 在Java中,文件读取通常有两种常见…...

在Linux开发板中使用.NET实现音频开发

本文将以Linux开发板为基础,使用ALSA音频框架和C#语言,演示如何实现基础的音频录制与播放功能。 1. 背景 音频处理是嵌入式开发中常见的需求,无论是语音交互、环境监测还是多媒体应用都离不开音频模块的支持。在Linux系统中,ALSA…...

SQL Server核心知识总结

SQL Server核心知识总结 🎯 本文总结了SQL Server核心知识点,每个主题都提供实际可运行的示例代码。 一、SQL Server基础精要 1. 数据库核心操作 -- 1. 创建数据库(核心配置) CREATE DATABASE 学生管理系统 ON PRIMARY (NAME 学生管理系统…...

基于RNN+微信小程序+Flask的古诗词生成应用

项目介绍 平台采用B/S结构,后端采用主流的Flask框架进行开发,古诗词生成采用RNN模型进行生成,客户端基于微信小程序开发。是集成了Web后台开发、微信小程序开发、人工智能(RNN)等多个领域的综合性应用,是课…...

基于单片机的智慧农业大棚系统(论文+源码)

1系统整体设计 经过上述的方案分析,采用STM32单片机为核心,结合串口通信模块,温湿度传感器,光照传感器,土壤湿度传感器,LED灯等硬件设备来构成整个控制系统。系统可以实现环境的温湿度检测,土壤…...

【AGI】智谱开源2025:一场AI技术民主化的革命正在到来

智谱开源2025:一场AI技术民主化的革命正在到来 引言:开源,一场技术平权的革命一、CogView4:中文AI生成的里程碑1. 破解汉字生成的“AI魔咒”2. 开源协议与生态赋能 二、AutoGLM:人机交互的范式跃迁1. 自然语言驱动的跨…...

2025-03-08 学习记录--C/C++-PTA 习题8-9 分类统计各类字符个数

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ #include <stdio.h> #define MAXS 15void StringCount( …...

yolov8改进|MobileNetV4替换Backbone,轻量化!!

yolov8改进|MobileNetV4替换Backbone,轻量化!! 一级目录二级目录三级目录MobileNetV4简介论文地址核心代码将核心代码放入`ultralytics/nn/modules`中,新建MobileNetV4.py修改`tasks.py``ultralytics/utils/torch_utils.py`中yaml文件一级目录 二级目录 三级目录 各位哥哥…...

OTP单片机调试工具

大部分的OTP单片机开发流程是先用仿真器进行仿真&#xff0c;f仿真完成之后再烧录OTP单片机芯片进行验证&#xff0c;但是很多少时候会发现有一个问题&#xff0c;仿真器仿真都是OK的&#xff0c;但是一旦焊接在板上了&#xff0c;就往往发现有问题&#xff0c;因为硬件条件变化…...

二次SQL注入

原理 用户向数据库存入恶意数据&#xff0c;当数据被送进数据库的时候&#xff0c;会对存入的信息进行转义然后再储存&#xff0c;但是存进去的数据会再次被转义回来&#xff08;也就是原样不变的存进数据库里&#xff0c;只是害怕攻击者在存入数据的时候捣蛋而已&#xff09;…...

机器学习:愚者未完成的诗篇(零)

当算法在数据海洋中打捞支离破碎的韵律时&#xff0c;机器学习系统展现出的智慧如同断臂的维纳斯雕像——完美与残缺构成令人战栗的美学悖论。愚者&#xff0c;在词语的混沌中编织逻辑经纬&#xff0c;却总在即将触及诗性本质的瞬间&#xff0c;暴露出认知维度的致命裂隙。 一…...

论文阅读-秦汉时期北方边疆组织的空间互动模式与直道的定位(中国)

论文英文题目&#xff1a;A spatial interaction model of Qin-Han Dynasty organisation on the northern frontier and the location of the Zhidao highway (China) 发表于&#xff1a;journal of archaeological science&#xff0c;影响因子&#xff1a;3.030 论文主要是…...

【贪心算法】将数组和减半的最小操作数

1.题目解析 2208. 将数组和减半的最少操作次数 - 力扣&#xff08;LeetCode&#xff09; 2.讲解算法原理 使用当前数组中最大的数将它减半&#xff0c;&#xff0c;直到数组和减小到一半为止&#xff0c;从而快速达到目的 重点是找到最大数&#xff0c;可以采用大根堆快速达到…...

Dify部署踩坑指南(Windows+Mac)

组件说明 Dify踩坑及解决方案 ⚠️ 除了修改镜像版本&#xff0c;nginx端口不要直接修改docker-compose.yaml &#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 1、更换镜像版本 这个文件是由.env自动生成的&#xff0c;在.env配置 …...

无人机端部署 AI 模型,实现实时数据处理和决策

在无人机端部署 AI 模型&#xff0c;实现实时数据处理和决策&#xff0c;是提升无人机智能化水平的关键技术之一。通过将 AI 模型部署到无人机上&#xff0c;可以实现实时目标检测、路径规划、避障等功能。以下是实现这一目标的详细方案和代码示例。 一、实现方案 1. 硬件选择…...

你为什么要写博客?

契机&#xff1a;最近CSDN系统给我发了一条私信&#xff0c;说我成为博主已经四年了&#xff0c;写一篇博客纪念可以得一枚纪念勋章&#xff0c;遂有此文。 机缘 最开始的这篇博客&#xff0c;是为了公司内部的一次分享会准备的&#xff0c;完全是YY出来的&#xff0c;现在看…...

【VUE2】第三期——样式冲突、组件通信、异步更新、自定义指令、插槽

目录 1 scoped解决样式冲突 2 data写法 3 组件通信 3.1 父子关系 3.1.1 父向子传值 props 3.1.2 子向父传值 $emit 3.2 非父子关系 3.2.1 event bus 事件总线 3.2.2 跨层级共享数据 provide&inject 4 props 4.1 介绍 4.2 props校验完整写法 5 v-model原理 …...

P8685 [蓝桥杯 2019 省 A] 外卖店优先级--优先队列“数组”!!!!!

P8685 [蓝桥杯 2019 省 A] 外卖店优先级 题目 解析优先队列如何判断是否使用优先队列&#xff1f;省略规则优先队列常用操作大顶堆 vs 小顶堆定义队列h队列数组 代码 题目 解析 每个外卖店会在不同的时间点收到订单&#xff0c;我们可以看见测试用例的时间顺序是不同的&#x…...

VsCode + EIDE + OpenOCD + STM32(野火DAP) 开发环境配置

VsCode EIDE OpenOCD STM32(野火DAP) 开发环境配置 接受了新时代编辑器的我&#xff0c;实在受不了Keil的上古编辑页面&#xff0c;周树人说过&#xff1a;由奢入俭难&#xff0c;下面我们一起折腾一下开源软件Vscode&#xff0c; 用以开发51和STM32&#xff0c;有错误之处&…...

JVM类加载器面试题及原理

JVM只会运行二进制文件&#xff0c;类加载器的作用就是将字节码文件加载到JVM中&#xff0c;从而让Java程序能够启动起来。 1. 类加载器的种类 启动类加载器&#xff08;BootStrap ClassLoader&#xff09;&#xff1a;加载JAVA_HOME/jre/lib目录下的库扩展类加载器&#xff…...

在 Maven 中使用 <scope> 元素:全面指南

目录 前言 在 Maven 中&#xff0c; 元素用于定义依赖项的作用范围&#xff0c;即依赖项在项目生命周期中的使用方式。正确使用 可以帮助我们优化项目的构建过程&#xff0c;减少不必要的依赖冲突&#xff0c;并提高构建效率。本文将详细介绍 的使用步骤、常见作用范围、代码…...

tomcat的安装与配置(包含在idea中配置tomcat)

Tomcat 是由 Apache 软件基金会开发的开源 Java Web 应用服务器&#xff0c;主要用于运行 Servlet 和 JSP&#xff08;JavaServer Pages&#xff09;程序。它属于轻量级应用服务器&#xff0c;适用于中小型系统及开发调试场景&#xff0c;尤其在处理动态内容&#xff08;如 Jav…...

问题解决:AttributeError: ‘NoneType‘ object has no attribute ‘text‘

项目环境&#xff1a; 我的环境&#xff1a;Window10&#xff0c;Python3.12&#xff0c;Anaconda3&#xff0c;Pycharm2024.3.4 问题描述&#xff1a; 找不到’text’这个对象 部分代码&#xff1a; Traceback (most recent call last):File "D:\IT DateFiles\PyDate\FQ…...

量子计算测试挑战:软件测试将如何迎接新纪元?

引言 在计算机技术的飞速发展中&#xff0c;量子计算(Quantum Computing)正成为下一个颠覆性的科技热点。随着谷歌、IBM、微软等科技巨头纷纷投入巨资研究量子计算&#xff0c;其应用场景正逐步扩展&#xff0c;从优化计算到密码安全&#xff0c;再到人工智能和材料科学。然而…...

读书报告」网络安全防御实战--蓝军武器库

一眨眼&#xff0c;20天过去了&#xff0c;刷完了这本书「网络安全防御实战--蓝军武器库」&#xff0c;回味无穷&#xff0c;整理概览如下&#xff0c;可共同交流读书心得。在阅读本书的过程中&#xff0c;我深刻感受到网络安全防御是一个综合性、复杂性极高的领域。蓝军需要掌…...