Para propósitos de depuración, me gustaría ver el raw de solicitud que va a ser enviado. Es allí una manera de conseguir esto sin un monitor HTTP directamente de la API de HttpPost o HttpClient?

He encontrado algunos «casi» duplicar preguntas, pero no para este particular, una

OriginalEl autor Eran Medan | 2012-05-31

4 Comentarios

  1. 29

    Puede establecer algunas variables de entorno para Apache HttpClient (ejemplo probado para 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");
    

    También hay algunos más variables para la depuración:

    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");
    
    Para obtener más opciones de registro dependiendo de su entorno, consulte hc.apache.org/httpcomponents-client-ga/logging.html
    Medan también Existe la HttpRequestInterceptor si quieres hacerlo para un determinado requuest

    OriginalEl autor Yser

  2. 0

    Intente esto:

    HttpClient client = new HttpClient();
    PostMethod method = new PostMethod(url);
    
    method.setParameter(...., ....);
    

    para recuperar el URI

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

    para recuperar los parámetros en el POST

    method.getRequestEntity().writeRequest(System.out);
    
    Sistema.no se recomienda el registro de
    Me gustó mucho este ejemplo, porque method.getRequestEntity().writeRequest me ayudó a imprimir la solicitud.
    Si bien estoy de acuerdo, no estoy de acuerdo contaminantes un ejemplo mínimo irrelevantes código de registro.
    Esto es poco práctico para cualquier cosa fuera de un demo. Puede usted imaginar hacer esto para cada llamada HTTP hizo?

    OriginalEl autor oizirbaf

  3. 0
    org.apache.http.client.fluent.Request#viaProxy 
    

    Este método puede hacer que su petición de pasar a través del servidor proxy, por lo que puede iniciar un servidor proxy local, por ejemplo Fiddler, por lo que este proxy de depuración puede mostrar los detalles de la solicitud y respuesta http.

    OriginalEl autor peter

  4. 0

    Intente habilitar DEBUG modo en su registro de configuraciones, si usted está utilizando log4j puede agregar esto a la log4j.xml archivo de su proyecto

    <root>
        <priority value="DEBUG" />
        <appender-ref ref="FILE" />
    </root>
    

    Usted tendrá la plena encabezados de solicitud, params, cuerpo, etc, registra en sus archivos de registro.

    OriginalEl autor Carlos B. Flores

Dejar respuesta

Please enter your comment!
Please enter your name here