Java 从预定义数据生成HttpServletRequest

Java 从预定义数据生成HttpServletRequest,java,http,Java,Http,为了进行测试,我想从一些预定义的数据构建HttpServletRequest对象,比如: GET / HTTP/1.1 User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; U; en) Presto/2.10.289 Version/ 12.01 Host: www.foo.com Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp,

为了进行测试,我想从一些预定义的数据构建
HttpServletRequest
对象,比如:

GET / HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; U; en) Presto/2.10.289 Version/
12.01
Host: www.foo.com
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png,
image/webp, image/jpeg, image/gif, image/x-xbitmap;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Pragma: no-cache
Cache-Control: no-cache
Connection: Keep-Alive

并设置url和客户端地址。有什么简单的方法可以做到这一点吗?

您可以编写解析来读取预定义的数据,并使用HttpClient根据需要发送请求


基里尔!我认为在您的情况下,最好的方法是使用框架。 例如,您可以对HttpServletRequest接口进行模拟。和使用:

   HttpServletRequest httpRequest = Mockito.mock(HttpServletRequest.class);
   Mockito.when(httpRequest.getHeader("Host")).thenReturn("http://www.foo.com");
   Mockito.when(httpRequest.getHeader("Referer")).thenReturn("blalba");
   Mockito.when(httpRequest.getHeader("User-Agent")).thenReturn("Opera");
   Mockito.when(httpRequest.getRemoteAddr()).thenReturn("127.0.0.1");