正如标题所描述的那样,应该实现一个代理来监视,跟踪,保存和(重新加载)客户端传出请求传入响应的Http流量。
我处于设计/分析阶段:以下是流程:
客户端通过代理发送(POST / GET / etc。方法)请求(如果代理将发送它)。代理会嗅探流量,无论如何都会保存请求参数。
代理从请求的URL(目标URL)接收(HTTP)响应。
我有两个问题:
上面描述的逻辑稳定的流程是什么?如果不是你不介意请纠正我?
我想使用一个可靠且可扩展的lib来处理代理中的流量(读取,更新):我想到了HttpClient。可以请你做这个工作吗?如果不是,谢谢你告诉我为什么以及哪种选择可能更好。
我希望听到一些有经验的网络开发者的一些好的答案。谢谢
答案 0 :(得分:1)
您描述的过程似乎是一个普通的转发代理,不包括第一点:
客户通过代理上的代理页面设置他的请求URL(目标)(即:http://localhost:port_name/proxy_confg_page.html)。
你是什么意思?每个请求的用户是否必须由某个管理面板设置请求URL?我不希望它有任何成功的机会。
如果您的意思是转发代理(它是您在网络浏览器偏好设置中设置的代理类型),您的推理很好(不包括第一点)。
关于您的第二个问题:HttpClient是您可以在您的案例中使用的最佳工具 - 它是强大,成熟且经过良好测试的库。我所知道的最好的一个。
答案 1 :(得分:0)
我找到了一个解决方案: 我将使用Tomcat作为转发代理。
1-在浏览器中,设置Web应用程序的地址(如http://localhost:port/Webapp)
webapp中的2-使用HttpClient来捕获来自用户的所有传入请求,先保存它们然后转发然后在外面请求。
3-使用httpClient检索响应,保存响应实体并将其转发到调用浏览器