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

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

文章目录


🚀前言

在进行网络调试和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

🚀四、结论

相关推荐
2301_803875616 小时前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
m0_743623926 小时前
c++如何批量修改文件后缀名_std--filesystem--replace_extension【实战】
jvm·数据库·python
_Evan_Yao6 小时前
端口80之外:一个Java小白和HTTP、DNS、FTP、SSH的“隐秘”交手
网络协议·http·ssh
桌面运维家7 小时前
IDV云桌面vDisk机房网络管控访问限制部署方案
运维·服务器·网络
2501_914245937 小时前
CSS如何处理CSS变量作用域冲突_利用特定类名重写变量值
jvm·数据库·python
菜鸟学Python7 小时前
Python生态在悄悄改变:FastAPI全面反超,Django和Flask还行吗?
开发语言·python·django·flask·fastapi
<-->7 小时前
Megatron(全称 Megatron-LM,由 NVIDIA 开发)和 DeepSpeed(由 Microsoft 开发)
人工智能·pytorch·python·深度学习·transformer
测试19988 小时前
2026最新软件测试面试八股文【附文档】
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
maqr_1108 小时前
MySQL数据库迁移到云端如何保障安全_数据加密与SSL连接配置
jvm·数据库·python
u0109147608 小时前
MySQL如何限制触发器递归调用的深度_防止触发器死循环方法
jvm·数据库·python