在平时开发的Android项目中,无时无刻不在请求着网络,而如果我们想要查看请求以及返回的数据该怎么办呢?Charles(俗称青花瓷)就是一个很好的工具,下面我分别描述一下用Charles抓取http和https的过程。
一、安装及配置
1.1.下载
1.2.安装
在Windows10系统中,直接双击是安装不了msi文件,需要管理员权限。
win+x,点击 命令提示符(管理员) 选项。并通过下面命令执行。
msiexec /package filename //最后一个参数为文件绝对路径
install.png
1.3.配置
打开手机WiFi详情页面,并配置相应的IP和端口号。
setting_proxy.png
主机名:电脑的ipv4地址。
端口号:Charles中查看。proxy --> proxy setting
charles_port.png
注意:电脑和手机要在同一网段,否则抓取不到数据。
上述步骤完成之后就设置成功了。
二、抓取HTTP数据。
我这边用手机随便打开一次请求。
当我在请求数据的时候,在Charles左侧,就已经有了请求列表。
上图总共标注了三个地方。
1代表的是请求的host地址。
2代表的是request。
3代表的是response,是以json字符串返回。
HTTP的请求就这么简单。
三、抓取HTTPS数据。
抓取https相对复杂一点,因为要给电脑和手机安装证书。
3.1.给电脑安装证书
computer_crt.png3.2.给手机安装证书
computer_crt.png点击上述条目之后会弹出下面对话框,然后用手机第三方浏览器打开选中网址,下载并安装即可。
image.png3.3.配置抓取的host和端口。
proxy --> SSL Proxy Setting
image.png*代表的是所有的https请求。
443代表https默认端口号。
3.4.抓取数据
image.png上图抓取的是简书作者列表。
1代表的是host地址。
2代表的是抓取到作者的详情。
四、注意的地方。
安装证书:
本人用的是小米的手机,下载证书的时候分别用自带浏览器和QQ浏览器,很遗憾下载之后安装不了,但是用谷歌浏览器下载之后就能成功安装并使用。
软件使用:
如果下载的不是破解版,每次打开的时候会有一个10秒倒计时,并且只能试用30天。其实用户上网可以找到一些人公开的用户名和密码并注册。Help --> Register.
网友评论