引言
web 开发和 API 开发中难免要详细分析 http 请求和响应信息。web 开发的话,浏览器提供了便利的工具,比如 chrome 和 IE 都带了 develop tool,而 firefox 更是有十分强大的 firebug,可以让 http 请求的所有秘密一览无遗。目前是 app 大流行的时代,想要观察 app 中得 http 请求的秘密,浏览器的工具和插件都无能为力,有不少本地化的软件可以很好的解决这个问题,Windows 平台下有大名鼎鼎的 Fiddler 和 HttpWatch,Mac 平台下有 Charles。Charles 是一个收费软件,价格不菲要 $50。钱还不是关键问题,作为一名 geek,当然想更向往开源,轻量的解决方案了,无意中发现 pproxy,简单使用了一下,觉得相当棒,可以做绝佳的替代方案。
比较
pproxy 和 Fiddler、Charles 最大的不同是,它是一个开源软件,使用 go 编写,代码托管在 github 上。因为开源,作为一名 geek,就可以通过阅读源代码对其工作机制一探究竟,如果发觉某些方面不能满足需求,可以直接向开发者提需求,也可以自己动手,丰衣足食,造福大众。
pproxy 的工作机制和本地化软件如 Fiddler、Charles 差别很大。Fiddler 和 Charles 是一个本地化软件,通常是安装在桌面电脑上,通过在桌面电脑建立 proxy,然后截获的 http 请求和响应数据,提供一个本地化的 UI 界面提供服务。而 pproxy 是一个服务端软件,通常安装在 Linux 服务器上(当然也是可以安装在桌面电脑上),在服务器上建立 proxy 截获 http 请求和响应数据,另外提供一个远程的基于 web (html5)的 UI 界面提供服务。
Fiddler UI 如下所示:
pproxy UI 如下所示:
使用
pproxy 使用比较简单,具体可以参考其使用说明 pproxy。 难得的是他的作者是中国人,所以说明都是中文的。
总结
pproxy 是一个开源的轻巧的 http 抓包分析工具,尤其适合 API http 请求分析,完全可以替换昂贵的收费工具,同时也可以探索其源码学习 GO 语言,学习 http 协议和分析方法。
主要内容:如何使用 Modules?,如何在项目中使用,使用 replace 替换无法直接获取的 package最早的时候,Go语言所依赖的所有的第三方库都放在 GOPATH 这个目录下面,这就导致了同一个库只能保存一个版本的代码。如果不同的项目依赖同一个第三方的库的不同版本,应该怎么解决? go module 是Go语言从 1.11 版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始,go module 成为了Go语言默认的依赖管理工具。 Modules 官方定义为: Module
介绍 本文承接上文。 更多信息 Client errors: Code Status Explanation What to do 400 Bad request The request could not be understood by the server due to a syntax problem. The request should be modified by the clien
介绍 HTTP的问题可能是由于慢速服务器或客户端,TCP性能问题,本文讨论上述问题以及其他可能因素。 更多信息 诊断过程: 浏览网页性能变差的原因有很多,需要逐步分析。步骤如下: 首先,不仅要确认网络负载状况,还要注意通信链路上的出错率,以及导致性能变差的最明显的表现; 诊断TCP问题,检查以下细节: 在Expert info窗口,确保没有太多重传以及重复ACK(百分之0.5至0.8尚可忍受)。
本文向大家介绍易语言制作网截抓包工具的代码,包括了易语言制作网截抓包工具的代码的使用技巧和注意事项,需要的朋友参考一下 常量数据表 全局变量表 网截抓包工具 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接
LiteIDE LiteIDE是一款开源、跨平台的轻量级Go语言集成开发环境(IDE)。 支持的操作系统 Windows x86 (32-bit or 64-bit) Linux x86 (32-bit or 64-bit) 下载地址 :http://sourceforge.net/projects/liteide/files/ 源码地址 :https://github.com/visualfc/
本文向大家介绍Go语言通过http抓取网页的方法,包括了Go语言通过http抓取网页的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言通过http抓取网页的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Go语言程序设计有所帮助。