用于实现代理服务器的J2EE解决方案:监视、跟踪、保存和(重新加载)Http流量

用于实现代理服务器的J2EE解决方案:监视、跟踪、保存和(重新加载)Http流量,http,jakarta-ee,proxy,monitoring,Http,Jakarta Ee,Proxy,Monitoring,正如标题所描述的,应该实现一个代理来监视、跟踪、保存和(重新加载)客户端的传出请求和传入响应的Http流量 我正处于设计/分析阶段:以下是流程: 客户端通过代理上的代理页面(即:)设置其请求URL(目标) 客户端通过代理发送(POST/GET/etc.method)请求(如果代理将发送请求,则在)。代理嗅探流量,无论如何保存请求参数 代理从请求的URL(目标URL)接收(HTTP)响应 对于成功的请求(响应状态代码介于200-299之间),代理可以以某种方式保存请求和响应以供进一步处理,并将响应

正如标题所描述的,应该实现一个代理来监视、跟踪、保存和(重新加载)客户端的传出请求和传入响应的Http流量

我正处于设计/分析阶段:以下是流程:

  • 客户端通过代理上的代理页面(即:)设置其请求URL(目标)
  • 客户端通过代理发送(POST/GET/etc.method)请求(如果代理将发送请求,则在)。代理嗅探流量,无论如何保存请求参数

  • 代理从请求的URL(目标URL)接收(HTTP)响应

  • 对于成功的请求(响应状态代码介于200-299之间),代理可以以某种方式保存请求和响应以供进一步处理,并将响应重定向到客户端him以“查看”其答案
  • 客户端接收来自代理的传入(http)响应并显示它
  • 然后,客户端可能会单击响应的链接,通过代理将其设置为下一个请求的下一个目标URL
  • 从第一步开始,一切从头开始
  • 我有两个问题:

    • 工艺流程是否在逻辑上稳定?如果不介意的话请你纠正我好吗

    • 我想使用一个可靠且可扩展的lib来处理代理中的流量(读取、更新):我想到了HttpClient。它能胜任这项工作吗?如果没有,谢谢你告诉我为什么,哪种选择可能更好


    我希望从一些有经验的Web开发人员那里听到一些好的答案。谢谢您

    您描述的流程似乎是一个普通的转发代理,不包括第一点:

    客户端通过代理上的代理页面(即:)设置其请求URL(目标)

    你这是什么意思?每个请求的用户是否必须通过某个管理面板设置请求url?我不希望它有任何成功的机会

    如果您的意思是转发代理(它是您在web浏览器首选项中设置的代理类型),那么您的推理是正确的(不包括第一点)


    关于您的第二个问题:HttpClient是您可以在您的案例中使用的最佳工具—它是健壮、成熟且经过良好测试的库。我所知道的最好的方法之一。

    您描述的过程似乎是一个普通的转发代理,不包括第一点:

    客户端通过代理上的代理页面(即:)设置其请求URL(目标)

    你这是什么意思?每个请求的用户是否必须通过某个管理面板设置请求url?我不希望它有任何成功的机会

    如果您的意思是转发代理(它是您在web浏览器首选项中设置的代理类型),那么您的推理是正确的(不包括第一点)

    关于您的第二个问题:HttpClient是您可以在您的案例中使用的最佳工具—它是健壮、成熟且经过良好测试的库。我所知道的最好的解决方案之一。

    我找到了一个解决方案: 通过这样做,我将使用Tomcat作为转发代理

    1-在浏览器中,设置web应用程序的地址(如)

    2-在webapp中,使用HttpClient捕获来自用户的所有传入请求,首先保存它们,然后保存为wading,然后在外部进行请求

    3-使用httpClient检索响应,保存响应实体并将其转发到调用浏览器

    我找到了一个解决方案: 通过这样做,我将使用Tomcat作为转发代理

    1-在浏览器中,设置web应用程序的地址(如)

    2-在webapp中,使用HttpClient捕获来自用户的所有传入请求,首先保存它们,然后保存为wading,然后在外部进行请求


    3-使用httpClient检索响应,保存响应实体并将其转发到呼叫浏览器

    谢谢。。。正如你所说的,HttpClient是最好的工具。。。不幸的是,我还没有成功地更改版本。。在4.X版本中,有很多人来了。。。有人需要学习完整的API谢谢。。。正如你所说的,HttpClient是最好的工具。。。不幸的是,我还没有成功地更改版本。。在4.X版本中,有很多人来了。。。有人需要学习完整的Api