22

デバッグの目的で、送信される生のリクエストを確認したいと思います。またはの API から直接 HTTP モニターなしでこれを取得する方法はありますHttpPostHttpClient?

「ほぼ」重複する質問をいくつか見つけましたが、この特定の質問ではありません

4

5 に答える 5

35

Apache HttpClient のいくつかの環境変数を設定できます (4.3.2 でテストされた例)。

System.setProperty("org.apache.commons.logging.Log","org.apache.commons.logging.impl.SimpleLog");
System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.wire", "DEBUG");

デバッグ用の変数もいくつかあります。

System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.impl.conn", "DEBUG");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.impl.client", "DEBUG");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.client", "DEBUG");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "DEBUG");
于 2014-02-21T14:28:37.483 に答える
0

log4j2 および/または slf4j ソリューション

log4j2 や slf4j を使用しているすべての人にとって、言及されているすべてのソリューションは機能しませんでした。Maven pom に以下を追加しました。

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.30</version>
    </dependency>

log4j2.xml ファイルを追加するか、既存のファイルを使用して以下を追加します。

    <Logger name="org.apache.http">
        <Level>DEBUG</Level>
    </Logger>

もちろん、有効な log4j2.xml 構成のためには、いくつかのアペンダーを定義する必要があります。簡単な例はここにあります

于 2021-01-13T08:39:23.430 に答える
-1

これを試して:

HttpClient client = new HttpClient();
PostMethod method = new PostMethod(url);

method.setParameter(...., ....);

URIを取得する

System.out.println("getUri: " + method.getURI());

POSTでパラメータを取得する

method.getRequestEntity().writeRequest(System.out);
于 2014-09-10T15:01:32.460 に答える