将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