43

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

投稿リクエストでは、コンテンツ文字列も取得したいと思います。

Android用のJavaでそれを行う最も簡単な方法は何ですか?

4

6 に答える 6

96

以下を使用して、リクエスト タイプを出力できます。

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

必要に応じて出力を美しくすることができます。

于 2013-09-22T13:26:27.597 に答える