Charles代理软件抓取并解析HTTPS加密数据的使用方法(Wins)

Charles代理软件抓取并解析HTTPS加密数据的使用方法(Wins)

一、Charles-proxy软件安装步骤

charles-proxy软件下载地址【官网】:https://www.charlesproxy.com/download/

  1. 右键点击【安装】
    安装步骤01
  2. 点击【下一步】
    安装步骤02
  3. 勾选【I accept the terms in the License Agreement】,并点击【下一步】
    安装步骤03
  4. 选择默认安装路径:C:\Program Files\Charles\,或者点击【Change】更改安装路径
    安装步骤04
  5. 点击【Install】进行安装
    安装步骤05
  6. 等待整个安装过程,最后点击【Finish】完成安装

安装步骤06

二、Charles-proxy软件配置过程

1. 启动Charles

启动界面

2. 设置HTTP代理端口并启用HTTP透明代理功能

配置路径:Proxy -> Proxy Settings
注意:若其他程序占用端口导致Charles报错,可更换为其他端口
设置端口

3. 本地浏览器安装Charles数字证书

配置路径:Help -> SSL Proxying -> Install Charles Root Certificate
a. 点击【安装证书】,一直点击【下一步】,直到提示“导入成功”,即安装完成
弹出证书b.查看已导入证书
配置路径:设置->隐私设置和安全性-> 安全 -> 管理证书 ->中间证书颁发机构
小编以谷歌浏览器为例,查看默认导入位置,不清楚其他浏览器如何操作的话,可以评论艾特小编
中间证书颁发机构鼠标左键双击Charles Proxy CA证书,显示该证书不受信任;为了使浏览器信任该数字证书,我们将该证书导出,然后导入到浏览器的“受信任的根证书颁发机构”
查看证书c. 导出Charles Proxy CA证书
点击【导出】,一直点击【下一步】,将文件命名为Charles,导出到本地
在这里插入图片描述d. 将已导出的Charles证书安装至浏览器的“受信任的根证书颁发机构”
在这里插入图片描述e. 再次查看Charles Proxy CA证书,此时证书已受信
受信证书

4.Charles设置要抓取并解析的报文的Host和Port

设置路径:Proxy -> SSL Proxying Settings -> Add
Host:填写要解析报文的Host,例如,www.baidu.com;另外,使用*通配符匹配所有Host
Port: 填写要解析报文的目的端口
设置解析HOST

5.抓包/解析效果

解析后的报文内容如下:
在这里插入图片描述解析前数据传输使用的TLS1.2加密协议:
在这里插入图片描述

6.总结

本文主要介绍了Wins电脑使用Charles代理软件抓取并解析HTTPS数据报文的方法, 其实小编旨在介绍抓取并解析移动端HTTPS数据报文的方法,由于时间有限,只能以后继续分享了!!!

Charles代理软件抓取并解析移动端微信小程序HTTPS加密数据的使用方法 敬请期待。。。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
21点是一种非常流行的纸牌游戏,也称为“黑杰克”。在这个游戏中,玩家要比庄家更接近21分,但不能超过21分。如果玩家的点数比庄家高且不超过21分,则玩家获胜。如果庄家的点数比玩家高或者玩家超过了21分,则庄家获胜。 蒙特卡洛方法是一种基于随机抽样的统计方法,可以用来解决21点问题。具体步骤如下: 1. 初始化一个空数组,用于存储每一局游戏的结果(胜利或失败)。 2. 对于每一局游戏,随机生成一个初始的玩家点数(可以在1-21之间随机选择),并循环进行以下步骤: a. 判断当前玩家点数是否超过21分,如果是,则当前局游戏结束,记录为失败。 b. 如果当前玩家点数已经达到21分,则当前局游戏结束,记录为胜利。 c. 如果当前玩家点数小于21分,则随机选择要不要再抽一张牌,如果选择抽牌,则将新抽到的牌的点数加到当前玩家点数上,否则当前局游戏结束,记录为胜利。 3. 计算所有游戏结果的胜利概率。 下面是用Python实现蒙特卡洛方法解决21点问题的代码: ```python import random def play_game(): player_score = random.randint(1, 21) while player_score < 21: draw_card = input("Do you want to draw a card? (y/n)") if draw_card == "y": player_score += random.randint(1, 11) if player_score > 21: print("You lose!") return False else: print("You win!") return True print("You win!") return True def simulate(n): wins = 0 for i in range(n): if play_game(): wins += 1 win_probability = wins / n print("Win probability:", win_probability) simulate(10000) ``` 在这个代码中,`play_game`函数用于模拟一局游戏,返回值为True表示获胜,False表示失败。`simulate`函数用于模拟多次游戏,并计算胜利概率。在这里,我们模拟了10000次游戏,输出了最终的胜利概率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值