Tag: 内容长度

如何在Java Filter中更改HTTP响应内容长度标头

我编写了一个Java HTTP响应filter,我在其中修改HTTP响应主体。 由于我正在更改HTTP响应主体,因此我必须根据新内容更新响应的http内容长度标头。 我是按照以下方式做的。 response.setContentLength( next.getBytes().length ); 听下一个string 但是,此方法无法设置HTTP响应的新内容长度。 有人可以建议我在Javafilter中完成它的正确方法 package com.test; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.CharArrayWriter; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletInputStream; import javax.servlet.ServletOutputStream; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpServletResponse; import […]

如何在android中设置内容长度?

我希望通过服务器客户端JSP页面中的request.getContentLength()获取内容大小。 但是request.getContentLength()总是返回-1,我不是为什么? Android代码段: URL uri = new URL(actionUrl); HttpURLConnection conn = (HttpURLConnection) uri.openConnection(); //conn.setChunkedStreamingMode(100); conn.setConnectTimeout(setTimeOut>0?setTimeOut:timeoutConnection); conn.setReadTimeout(setTimeOut>0?setTimeOut:timeoutConnection); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.setRequestMethod(“POST”); conn.setRequestProperty(“Connection”, “keep-alive”); //conn.setRequestProperty(“content-length”, “10”); //conn.addRequestProperty(“content-length”, “20”); conn.setFixedLengthStreamingMode(30); conn.setRequestProperty(“Charsert”, ENCODING); conn.setRequestProperty(“Content-Type”, “multipart/form-data” + “;boundary=” + java.util.UUID.randomUUID().toString()); conn.connect();