在搞了三个小时多小时之后,终于将乱码问题解决。也加深了不想用百度的想法,太坑了。
想着既然这问题那么难搜到windows 版本的解决方法,那就写一下吧。
首先贴一篇解决乱码问题的解说的比较好的文章,细说Charles配置https乱码的解决,虽然它文章描述的是MAC 版本的解决方法(MAC的直接点这个链接),但对于为什么这么设置讲的很好。
很多答案说的什么鬼替换UTF-8 ,Rewrite什么的都不知道怎么总结出来的,坑的一批 ,这里的乱码并不是客户端编码问题导致的,而是https安全机制导致的,HTTPS比HTTP多出了SSL加密,应用层获取到的数据都是加密过的,所以才会是乱码。
英语好的可以去看一下Charles的官网, 安装SSL证书方法 ,讲的很详细。
1、点击Help -->SSL Proxying-->Installing Charles Root Certificate
2、这里就是关键了,很多答案没有说到这一步,这时候会弹出一个窗口,警告AC证书不受信任,这时候一直点下一步是没有用的,
选择 安装证书--》下一步--》将所有证书都放入下列存储--》浏览--》受信任的根证书颁发机构--》确定--》下一步--》完成。然后会显示导入成功。
Proxy--> SSL Proxying Setting--> Enable SSL Proxying -->Add
然后填写一下 内容,点击ok就好了
这时候应该就可以了,关掉Charles ,重启,随便点击一个https网页,百度之类的,你会发现不再是全部unkonow了,
变成了正常的文件夹形式了,说明成功了。那你就可以点个顶给我了。
如果还是不行,官网有第一步安装SSL更详细的步骤解释,各个浏览器不同,下面只贴一下chrome 的解决方法。
In Charles go to the Help menu and choose "SSL Proxying > Save Charles Root Certificate". Save the root certificate (as a .crt) to your desktop, or somewhere where you can easily access it in the next step.
In Chrome, open the Settings. At the bottom of the settings, click "Show advanced settings…", then click the "Manage certificates…" button.
Go to the "Trusted Root Certification Authorities" tab and click "Import…".
Find the certificate file you saved from Charles in the previous step, then click Next and Finish, leaving the default options, until you complete the import. Chrome will now always trust certificates signed by Charles.
可以不看上面或者只看上面或者都看。
主界面 Help-->SSL Proxying -->Save Charles Root Certificate 找一个文件夹存放证书文件,最新版只有.pem和.cer 格式,选cer格式
在Chrome中,打开“设置”。在设置底部,单击“ 显示高级设置... ”,找到 “管理证书...”按钮。 点击“受信任的根证书颁发机构”选项卡,然后单击“导入...”。 找到刚刚保存的证书文件,然后单击下一步并完成。这时候重启Charles 再试试。