第一次用 Qt 写完整的应用,有兴趣的朋友可以帮忙看看有没哪写的不好的地方。
代码在Qt4.7/4.8 + MacOS/windown下编译过。Qt4.7以下版本可能会有问题 简单说下实现原理:
1,rythem启动一个本地tcpserver,监听请求(代码中硬编码为127.0.0.1:8889)
2,设置浏览器
代理为127.0.0.1:8889
3,rythem对浏览器过来的请求socket(request),对应产生一个对远端的socket (response),并把request的发送内容写到response,response返回的内容写回request。这就是一个代理服务器的大概流程。
4,对两个socket发送的内容都进行 http 解包,此为抓包过程。
源代码托管在github上:
https://github.com/AlloyTeam/Rythem 具体使用介绍见这里:
http://www.alloyteam.com/2012/05/web-front-end-tool-rythem-1/ 另外,上网搜了很久没找到一个好的办法对MacOS设置代理。求教~