charles抓包工具的中文乱码问题
charles 中文乱码问题
charles是一款非常适合mac使用的抓包工具,其功能的强大对于测试人员来说掌握熟悉之后,能提高不少工作效率。之前整理过charles抓包工具对测试人员来说的使用点。其实在整理到Map Local时,重定向遇到了中文乱码的问题,查询部分资料才解决这个问题。现也整理进自己的学习笔记,以便大家入坑。
编码格式的自查
一般UTF-8得编码格式能被charles识别,所以在重定向的时候,可以检查文件内容是什么编码格式。我用的是sublime text,打开Preferences——Settings-Default:
找到default_encoding的值,查看是否为UTF-8.若是则改成这个格式,尝试看看,一般都是可以解决问题了。若还不行,则继续往下看。
我们需要用到charles中的rewrite功能,将某些内容替换成UFT-8可以识别的内容。
首先选中工具栏的Tools——Rewrite选项,进入Rewrite settings界面:
上面那张图就是Rewrite的设置内容。
第一步,当然是Enable你的Rewrite啦;
第二步,add一个set,就会出现第三步默认勾选的一个设置;
第三步,出现了一个未命名的设置;
第四步,新建一个Rule在你的设置中;点击add就会出现Rewrite Rule的编辑框。Type选择Modify Header,where可以根据你的需要来,一般都是响应的内容。Match中的值就是你需要替换的那块,我是要把application/jason替换成它的编码格式为UTF-8,所以在Replace中Content-Type的值增加了charset=UFT-8,点击ok就完成了Rule的建立。再看Rewrite Settings里的内容就会新增一条Type为Modify的Rule。替换完毕之后,再去做Map Local等等的请求时,就会发现客户端的中文内容不再不是一片乱码啦!



