Python3WebSpider_Charles使用
分类:
文章
•
2024-03-23 12:39:40
Charles使用
- Charles是一个网络抓包工具,我们可以用它来做App的抓包分析,得到App运行过程中发生的所有网络请求和响应内容,这和Web浏览器的开发者工具Network部分看到的结果一致。
1、准备工作
2、原理
- (1)首先Charles运行在自己的PC上:Charles运行的时候会在PC的8888端口开启一个代理服务,这个服务实际上是一个HTTP/HTTPS的代理。
- (2)确保手机和PC在同一个局域网内:我们可以使用手机模拟器通过虚拟网络连接,也可以使用手机真机和PC通过无线网络连接。
- (3)设置手机代理为Charles的代理地址:这样手机访问互联网的数据包就会流经Charles,Charles再转发这些数据包到真实的服务器,服务器返回的数据包再由Charles转发回手机,Charles就起到中间人的作用,所有流量包都可以捕捉到,因此所有HTTP请求和响应都可以捕获到。同时Charles还有权力对请求和响应进行修改。
3、抓包
- (1) 初始状态,监听按钮红色显示打开,灰色是关闭;
- (2) Charles监听手机发生的网络数据包,捕获到的数据包显式在左侧,随着时间的推移,捕获到的数据包会越来越多,左侧列表内容也会越来越多;点击左侧条目,右侧显示请求的详细信息;
- (3)操作:打开手机京东,打开一个商品,查看评论,并不断上拉加载评论;这时左侧api.m.jd.com链接不停闪动,展开查看里面条目详情,切换到Contents选项卡,可以在CommentData字段里面查看到评论内容;
- (4)操作:这时可以确定,此请求对应的接口就是获取商品评论的接口,这样我们就成功的捕获到了在上拉刷新过程中发生的请求和响应内容;
4、分析
- 在Overview选项卡中,显示 请求接口的URL,响应状态,以及请求方式Method,由于是POST请求,还需要切换到Contents选项卡中Form表单查看详细信息;
- 这样我们就成功抓取App中的评论接口请求和响应,并且可以查看Response返回的JSON数据;
5、重发
- Charles可以将捕获到的请求加以修改并发送修改后的请求。点击修改按钮可进行修改;
- 有了这个功能,我们就可以使用Charles来做调试,通过修改参数、接口等来测试不同请求的响应状态,就可以发现参数有哪些规律,最后的到最简单的接口和参数形式供程序模拟调用使用。