将HttpServletRequest转发到其他服务器

HttpServletRequest在Spring Servlet中收到一个请求,希望将AS-IS(即GET或POST内容)转发到其他服务器

使用Spring Framework最好的方法是什么?

我是否需要获取所有信息并构建一个新的HTTPUrlConnection?还是有更简单的方法?

回答:

不幸的是,没有简单的方法可以做到这一点。基本上,您必须重构请求,包括:

  • 正确的HTTP方法
  • 请求参数
  • 请求标头(HTTPUrlConnection不允许设置任意用户代理,Java/1.*始终附加“ ”,您需要HttpClient)
  • 身体

这是很多工作,更不用说它无法扩展了,因为每个这样的代理调用将占用您计算机上的一个线程。

我的建议:使用原始套接字或netty并在最低级别上拦截HTTP协议,只需动态替换一些值(例如Host标头)即可。您能否提供更多背景信息,为什么需要此背景信息?

以上是 将HttpServletRequest转发到其他服务器 的全部内容, 来源链接: utcz.com/qa/432031.html

回到顶部