为什么浏览器突然打不开网页了?
苏生不惑第433 篇原创文章,将本公众号设为星标,第一时间看最新文章。
前几天写了什么是cookie总有人问我 Cookie 是什么?,说到Charles代理工具,但是为什么关了它就打不开网页呢?今天来说说这个。
Charles可以抓取浏览器或者客户端的网络请求,因为在浏览器控制台看请求不方便,所以就有了抓包工具,这里主要说说charles ,https://www.charlesproxy.com/download/ 这里下载软件,支持windows和mac系统,软件只有30天免费试用,可以用这个网站在线生成密钥(网站地址在公众号苏生不惑后台回复 charles),作者还提供了对应的golang代码,可以自己本地生成或者编译成Windows工具。
启动charles会默认开启你的电脑代理,端口是8888,之后浏览器请求会转发到这个软件上。
然后打开网页就可以抓取网络请求了。不过抓取https网页显示unknown。
是证书问题。在help里选择install charles root certificate 安装证书,接着选择本地计算机,受信任的根证书颁发机构。安装成功后reset。看证书更新了。接着设置ssl proxying setting。
host和port为*就可以。抓取网络请求效果如图,可以很清晰的看到微博的各种https请求。电脑软件也可以抓包,打开一篇公众号文章。效果:
抓微信小程序的请求用这个HTTP Debugger 。
注意如果不想抓包了把Charles代理关了,否则电脑开了代理就用不了我的公众号文章下载工具2023 更新版:苏生不惑开发过的那些原创工具和脚本 ,浏览器也打不开网页了,因为对应的8888端口不能访问了。
如果想更好的管理浏览器的代理可以用这个浏览器扩展https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=zh-CN
最后分享个查看网络请求接口json格式化浏览器扩展https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc,可以很清晰的看每个字段,比如这个https://httpbin.org/headers如果需要在代码里模拟请求接口可以copy as curl(bash)然后用https://curlconverter.com/这个网站转换为你的编程语言,支持python,JavaScript,golang等。专业一点用postman 。
还想对抓包进一步深入研究可以看下mitmproxy。