一尘不染

如何打印httprequest请求的内容?

java

我有一个涉及httprequest的错误,有时会发生,所以我想记录HttpGet和HttpPost请求的内容。

所以,让我们说,我这样创建HttpGet:

HttpGet g = new HttpGet();
g.setURI(new URI("http://www.google.com"));
g.setHeader("test", "hell yeah");

这是我想要的字符串表示形式:

GET / HTTP/1.1
Host: www.google.com
test: hell yeah

对于发布请求,我还想获取内容字符串。

在Java for Android中最简单的方法是什么?


阅读 726

收藏
2020-12-03

共1个答案

一尘不染

您可以使用以下命令打印请求类型:

request.getMethod();

您可以按此处所述打印所有标题:

Enumeration<String> headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()) {
  String headerName = headerNames.nextElement();
  System.out.println("Header Name - " + headerName + ", Value - " + request.getHeader(headerName));
}

要打印所有请求参数,请使用以下命令:

Enumeration<String> params = request.getParameterNames(); 
while(params.hasMoreElements()){
 String paramName = params.nextElement();
 System.out.println("Parameter Name - "+paramName+", Value - "+request.getParameter(paramName));
}

request 是…的实例 HttpServletRequest

您可以根据需要美化输出。

2020-12-03