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

ops/2025/3/10 22:00:33/
标题详情
作者简介愚公搬代码
头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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

🚀四、结论


http://www.ppmy.cn/ops/164766.html

相关文章

STM32Cubemx配置E22-xxxT22D lora模块实现定点传输

文章目录 一、STM32Cubemx配置二、定点传输**什么是定点传输?****定点传输的特点****定点传输的工作方式****E22 模块定点传输配置****如何启用定点传输?****示例****应用场景****总结****配置 1:`C0 00 07 00 02 04 62 00 17 40`****解析****配置 2:`C0 00 07 00 01 04 62…

配置nacos

解压资料中的nacos-server-1.2.0.zip 进入bin目录双击 startup.cmd 运行文件 访问http://localhost:8848/nacos 注册admin服务 1<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-d…

护照阅读器在旅游景区流程中的应用

在旅游景区的日常运营与管理中&#xff0c;为游客提供便捷、高效且安全的游览体验至关重要。护照阅读器作为先进的身份识别设备&#xff0c;在景区的自助购票、行李寄存以及自助安检等关键环节发挥着重要作用&#xff0c;极大地优化了景区的运营流程&#xff0c;提升了游客的满…

机器视觉3D上下料技术上的分析

机器视觉3D上下料是工业自动化领域的重要应用,通过3D视觉技术引导机器人完成物料的精准抓取、定位和放置,尤其适用于复杂、无序或高精度的场景。以下是其核心内容梳理: 核心组成 3D视觉系统: 硬件:常用3D相机(结构光、ToF、双目视觉等),如Kinect、Intel RealSense、工业…

常用的分布式ID设计方案

常用的分布式ID设计方案 在分布式系统中&#xff0c;生成全局唯一的ID是一个常见的需求。无论是数据库表中的主键&#xff0c;还是消息队列的消息ID&#xff0c;都需要一个高效且可靠的唯一标识符。本文将探讨几种常用的分布式ID设计方案&#xff0c;并分析它们的优缺点。 1. …

更新vscode ,将c++11更新到c++20

要在CentOS系统中安装最新版本的GCC&#xff0c;你可以使用SCL&#xff08;Software Collections&#xff09;仓库&#xff0c;它提供了开发工具的最新版本。以下是安装步骤&#xff1a; 1、 添加SCL仓库&#xff1a; 首先&#xff0c;添加CentOS的SCL仓库&#xff0c;该仓库…

React:Axios

axios可以在浏览器和node.js两边跑&#xff0c;可以向服务端发起ajax请求&#xff0c;也可以在node.js里运行&#xff0c;向远端服务发送http请求 Axios中文文档 | Axios中文网 <!DOCTYPE html> <html lang"en"> <head><meta charset"UT…

blender看不到导入的模型

参考&#xff1a;blender 快捷键 常见问题_blender材质预览快捷键-CSDN博客 方法一&#xff1a;视图-裁剪起点&#xff0c;设置一个很大的值 方法二&#xff1a;选中所有对象&#xff0c;对齐视图-视图对齐活动项-选择一个视图