抓包工具之Charles拦截请求、修改返回

Charles秘钥
Registered Name : https://zhile.io
License Key :48891cf209c6d32bf4

网站分前端和后端,当我们在测试一个网站的时候,出了问题,我们不知道是前端有问题还是后端问题,这时候可以用抓包工具来,当然简单点的也可以用浏览器自带的检查来看,如下:
抓包工具之Charles拦截请求、修改返回


若想抓手机上的包,直接打开Charles就能抓(手机上需要设置,详细见下)
若既想抓手机又想抓电脑上的包,需要勾上Proxy—Windows Proxy
mac上是Proxy—macOS Proxy


Charles抓http请求

打开Charles后,点击你要抓的网站,例如一个博客地址
抓包工具之Charles拦截请求、修改返回
logo.jpg是图片
/是博客里面的内容
我们可以看到,是上下两部分,在request里面可以看到是get请求,有没有传cookie(cookie),有没有请求参数(Raw)
若是没有接口文档,也可以通过它来看有哪些接口、请求方式、请求参数等。


拦截请求

比如:
实现打开https://blog.csdn.net/lxy_xy/article/details/88799310
是https://blog.csdn.net/lxy_xy/article/details/88798049的内容

1、右键 Breakpoints,勾上断点。
抓包工具之Charles拦截请求、修改返回
原来是点完请求后直接发往服务器端,勾上断点后,以后只要你发这个请求,它就会卡那不动。在这你可以看下是否要修改内容。
可以试下,我们先清空charles
现在再刷新https://blog.csdn.net/lxy_xy/article/details/88799310,这个页面是一直转圈,不动。
我们看下charles,在Breakpoints的栏下,点击该网址,右侧有个Edit Request,这里面的东西都可以修改或删除,如没有参数给他添加参数,get请求修改成post请求,删除cookie等。只要拦截住了想干嘛就能干嘛。抓包工具之Charles拦截请求、修改返回
2、我们能看到在Edit Request下有/lxy_xy/article/details/88799310,这篇文章是88799310,现在我们把它修改成打开是88798049的内容,把它修改成/lxy_xy/article/details/88798049,然后Execute这样是把请求发出去,
我们可以看到现在还是88799310,但是内容已经换成了88798049的内容
抓包工具之Charles拦截请求、修改返回
当你不再使用断点时,一定要右键取消勾选Breakpoints,否则每当你请求该页面时候都会转到88798049。


修改返回

我们还用https://blog.csdn.net/lxy_xy/article/details/88799310,在请求上打断点,然后我们重新请求该页面,页面一直转。
我们看charles,在Breakpoints的Edit Request下,我们点击Execute放过这个请求,可以看到变成了Edit Response,在HTML中,把所有的内容换成“哈哈哈”,点击Execute,页面上内容变成“哈哈哈”。
抓包工具之Charles拦截请求、修改返回
抓包工具之Charles拦截请求、修改返回
抓包工具之Charles拦截请求、修改返回