从 HttpServletRequest 获取原始请求字符串
是否可以从 HttpServletRequest 对象获取原始 HTTP 请求?如果可能的话,我想将原始请求视为字符串。
我需要获取请求的全文,在本例中是 POST 请求,因此 URL 没有帮助。它也是多部分形式的一部分,所以我不能只调用“getParameterNames()”或“getParameterValues()”。
谢谢
是否可以从 HttpServletRequest 对象获取原始 HTTP 请求?如果可能的话,我想将原始请求视为字符串。
我需要获取请求的全文,在本例中是 POST 请求,因此 URL 没有帮助。它也是多部分形式的一部分,所以我不能只调用“getParameterNames()”或“getParameterValues()”。
谢谢
您可以通过执行以下操作来读取原始 HTTP 请求:
ServletInputStream in = request.getInputStream();
然后使用输入流的常规方法。read
希望有所帮助。
好吧,这听起来像是你在做某种故障排除。为什么不在查看原始表单数据时删除多部分表单组件。您可以使用以下 JSP 代码段来构造表单数据。
<%
Enumeration en = request.getParameterNames();
String str = "";
while(en.hasMoreElements()){
String paramName = (String)en.nextElement();
String paramValue = request.getParameter(paramName);
str = str + "&" + paramName + "=" + URLEncoder.encode(paramValue);
}
if (str.length()>0)
str = str.substring(1);
%>